Meine bash_profile-Funktion sieht so aus:
function st() { /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /Users/ishan/workspace/nltk_engine/index.py;}
Wenn ich jedoch im Terminal st, öffnet es nur ein erhabenes Textfenster, ohne die Datei zu öffnen. Ich habe die Zeile in das Terminal kopiert und es funktioniert. Es funktioniert nicht über bash_profile.
Die st
Funktion, die beim Tippen arbeitet, st
ist eine alte, die Sie interaktiv in definiert haben Terminal
. Wenn Sie eingeben:
type st
Sie werden sehen, dass diese Definition nicht die ist, die Sie in Ihre eingegeben haben .bash_profile
.
Um die in Ihrer eingegebene Definition auszuführen .bash_profile
, müssen Sie sie in Ihre eigentliche Shell laden:
. ~/.bash_profile
oder
source ~/.bash_profile
Und Sie können von nun an überprüfen, ob Ihre Definition Ihrer st
Funktion korrekt ist mit:
type st
Da Ihr Befehl ein statischer Befehl ist, könnten Sie es mit einem Alias versuchen:
alias st="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /Users/ishan/workspace/nltk_engine/index.py"
Jaume
.bash_profile
. Was ist die Ausgabe vontype st
? Fügen Sie als Nebenbemerkung.bashrc
stattdessen Funktionen hinzu, da Funktionen nicht in die Umgebung exportiert werden.