2010-11-19 48 views
1

首先,我很抱歉,這是一種「給我一個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 

,然後注意到,我使用了錯誤的版本,我要回去,我'd do

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

這會立刻告訴我,我正在使用Grails 1.3.5。

我在創建像這樣的psh腳本時遇到的問題是,我絕對會在創建腳本時感到厭倦。我確實嘗試過這樣做,但是在收到psh本身的五條神祕錯誤消息之後,我決定尋求建議。

加分點:如果我能參數別名調用指定版本(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,而不是把它當作$ args來雖然 – Jaykul 2010-11-19 15:06:50

相關問題