/ / Bash / Cygwin - Aliase, die sich nicht wie Kommandos verhalten - Kommandozeile, Bash, Cygwin

Bash / Cygwin - Aliase, die sich nicht wie Kommandos verhalten - Kommandozeile, Bash, Cygwin

Ich versuche, Cygwin dazu zu bringen, die in Windows verwendeten Tools einzurichten, und habe einige Probleme dieser BeitragKonnte ich Notepad ++ als meinen Editor mit angeben

alias notepad="/cygdrive/c/Program Files (x86)/Notepad++/notepad++.exe"

Und das funktioniert, wenn ich es ĂĽber die Befehlszeile starte

notepad $( cygpath -pw ~/.bashrc ) &

öffnet jedoch meine .bashrc-Datei, wenn ich versuche, diese als Alias ​​zu definieren

alias settings="notepad $( cygpath -pw ~/.bashrc ) &"

und Typ settings Ich bekomme den Fehler

C:Program Files (x86)Notepad++cygwin64homeuser.bashrc doesn"t exist. Create it?

Ich habe versucht, eine Variable zu definieren und hatte noch mehr Probleme. Was mache ich falsch?

Antworten:

2 fĂĽr Antwort â„– 1

Wenn Sie im Alias-Befehl doppelte Anführungszeichen verwenden, wird alles ausgeführt, was sich in den doppelten Anführungszeichen befindet Zur Zeit legen Sie den Alias ​​fest. Sie müssen die Aliasdefinition in einfache Anführungszeichen setzen, damit Variablen aufgelöst werden, wenn der Alias ​​verwendet wird. Versuchen Sie zum Beispiel diese beiden:

alias wtf1="echo $(pwd)"
alias wtf2="echo $(pwd)"

Du wirst das sehen wtf1 Meldet das aktuelle Verzeichnis ordnungsgemäß, während wtf2 scheint in dem Verzeichnis hängen zu bleiben, in dem Sie sich beim Einrichten des Alias ​​befunden haben.