2010-11-19 47 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

相关问题