2010-11-19 7 views
1

まず、申し訳ありませんが、これは "give me teh codez"のようなものです。私はあなたの答えから学ぶことを約束します!それは、あなたが必要と感じたらSocratic methodを自由に使用することを意味します。実際のコマンドを実行する前に環境変数を変更するエイリアスコマンドの作成方法


私は現在開発しています(メンテナンスと新しいもの構築の両方)Grailsを使用して複数のサイトを、それが動作する方法は、それがさまざまなタスクを実行するためのコマンドラインシェルを提供することです。

これはすべてうまくいきますが、バージョン間の切り替えはすべてGRAILS_HOMEという単一の環境変数によって制御されているため、少し厄介です。これはC:\grails\grails-1.2.3\などのディレクトリを指すように設定されています。私は、

grails create-app MyWebApp 
grails list-plugins -repository=myPluginRepo 
grails install-plugin myPlugin 

、その後、私は間違ったバージョンを使用して、私は戻って行かなければならないことだということに気づい:私は、代わりにこのような何かをやってのことを行うことができるようにしたいものを今

、むしろ

g135 create-app MyWebApp 
g135 list-plugins -repository=myPluginRepo 
g135 install-plugin myPlugin 

これはGrails 1.3.5を使用しているとすぐにわかります。

私がこのようなpshスクリプトを作成する際に問題となるのは、スクリプトを作成することを絶対に止めてしまうことです。私はこれをやろうとしましたが、psh自体からの5つの不思議なエラーメッセージの後に、ちょうどアドバイスを求めることにしました。

ボーナスポイント:私はバージョン(g[1.3.5] other paramsようなもの)を指定して、私のための最も便利な解決策になるだろうと、環境変数の値、 に番号を追加するエイリアスの呼び出しをパラメータ化することができます。

答えて

4

これはそれを行う必要があります。

Function PSGrails($ver) 
    { 
    $env:GRAILS_HOME='c:\grails\grails-{0}\' -f $ver 
    grails $args 
    } 

それは、変数を設定し、上記のようにGrailsを実行わずかの機能です。

直接関数名の後にバージョン番号を指定して実行]を:

psgrails 1.3.5 create-app MyWebApp  
psgrails 1.3.5 list-plugins -repository=myPluginRepo  
psgrails 1.3.5 install-plugin myPlugin 
+0

私はあなたがおそらくかかわらず、代わりに$引数として渡すの@argsをスプラットする必要があると思います – Jaykul

関連する問題