2010-11-19 8 views
1

Zuerst entschuldige ich mich, aber das ist eine Art "gib mir die Codez" -Frage. Ich verspreche jedoch, von deinen Antworten zu lernen! Das bedeutet, dass Sie die Socratic method verwenden können, wenn Sie das Gefühl haben, dass es notwendig ist.Wie man einen Alias-Befehl erstellt, der die Umgebungsvariable vor dem Ausführen eines tatsächlichen Befehls ändert


ich zur Zeit der Entwicklung (sowohl Wartung und Aufbau neuer) mehrere Standorte Grails und die Art und Weise verwenden es funktioniert, ist, dass es eine Kommandozeilen-Shell für die Ausführung verschiedener Aufgaben zur Verfügung stellt.

Das ist alles schön und gut, aber zwischen den Versionen Schalt ist ein bisschen ein Ärgernis, da sie alle von einem einzigen Umgebungsvariable namens kontrolliert werden GRAILS_HOME was zu einem Verzeichnis verweisen ist so eingestellt, wie C:\grails\grails-1.2.3\.

Nun, was würde Ich mag Lage sein, das zu tun, anstatt so etwas wie dies zu tun:

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

und dann zu merken, dass ich die falsche Version bin mit, und dass ich zurück zu gehen, ich würde eher

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

was würde mir sofort sagen, dass ich Grails 1.3.5 verwende.

Das Problem, das ich bei der Erstellung eines Psh-Skripts wie dieses habe, ist, dass ich absolut am Erstellen von Skripts saugen. Ich habe es versucht, aber nach ungefähr fünf mysteriösen Fehlermeldungen von PSH habe ich mich entschieden, einfach um Rat zu fragen.

Bonuspunkte: Wenn ich den Alias-Aufruf parametrieren kann die Version (etwas wie g[1.3.5] other params) und dann hängen Sie die Nummer an den Umgebungsvariable Wert angeben, , die am meisten praktische Lösung für mich sein würde.

Antwort

4

Dies sollte es tun:

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

Es ist nur eine kurze Funktion, die die Variable setzt und dann grails ausführt wie oben.

Run durch die Versionsnummer direkt nach dem Funktionsnamen angeben:

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

Ich glaube, Sie wahrscheinlich @args müssen vollzuspritzen anstatt es wie $ zugeben args obwohl – Jaykul

Verwandte Themen