Bash alias: Befehl nicht gefunden
Ich versuche zu setup einen einfachen alias zu bewegen, mir in den Developer-Ordner auf meinem Rechner. Jedoch, nach der Einrichtung bekomme ich eine seltsame Fehlermeldung:
-bash: dv: command not found
Richte ich meine alias in .bashrc wie folgt:
alias dv='cd Developer/'
Ich benutze es nur durch Eingabe dv
ein, und bekomme dann diesen Fehler. Erkennt jemand irgendwelche syntax-Fehler oder etwas fehlt mir hier für Aliase?
Sind Sie sicher, dass
Ich bin mir nicht 100% sicher, dass überhaupt, ich kann versuchen, das hinzufügen es zu meinem .bash_profile statt. Edit: Das ist genau das, was ich nach war, wenn Sie Ihr Kommentar auf eine Antwort werde ich akzeptieren, danke!
In Mac OS X, terminal-Emulatoren starten einer login-Shell anstelle einer einfachen interaktiven shells, weil der terminal-emulator selbst ist nicht (in der Regel) von einem
.bashrc
gelesen? Auf meinem Rechner .bashrc
ignoriert und .profile
wird stattdessen verwendet.Ich bin mir nicht 100% sicher, dass überhaupt, ich kann versuchen, das hinzufügen es zu meinem .bash_profile statt. Edit: Das ist genau das, was ich nach war, wenn Sie Ihr Kommentar auf eine Antwort werde ich akzeptieren, danke!
In Mac OS X, terminal-Emulatoren starten einer login-Shell anstelle einer einfachen interaktiven shells, weil der terminal-emulator selbst ist nicht (in der Regel) von einem
bash
Sitzung, die bereits eine login-shell.InformationsquelleAutor Bill L | 2015-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laufen
bash
und versuchen Sie dann den Befehl.Alternativ, legen Sie es in
~/.bash_profile
sollte automatisch geladen werden.Ich bin downvoted weil es besser ist, um es in
~/.profile
so läuft es automatisch.~/.bashrc
wird nur geladen, nach der Ausführungbash
.Wenn Sie gehen, um manuell einen Befehl auszuführen, besser zu re-Quelle, die dotfiles, als eine neue shell starten (und verlassen die alte Ausführung).
Das heißt:
exec bash
ersetzt die alte Instanz von bash durch eine neue (Verständnis, dass diese Tücher aus anderen lokalen Zustand in die Schale -- Variablen, Funktionen definiert, etc), odersource ~/.bashrc
ausführen aller Befehle in die ~/.bashrc mit der bestehenden shell.Eine solche Variable sollte gesetzt werden, in
.bash_profile
statt.bashrc
aus genau diesem Grund..bashrc
bezogen ist, indem jede (nicht-login -) Shells; ist es vernünftig zu erwarten, dassbash
ausgeführt werden kann, der innerhalb einer bestehendenbash
Sitzung.InformationsquelleAutor pushkin
.bashrc
ist nur Lesen Sie auf Start. Wenn Sie nur geändert.bashrc
dann brauchen Sie, um eine neue shell oder Holen Sie sich Ihre aktuelle shell zu sehen, dass die änderungen angewendet:source ~/.bashrc
in Ihrer aktuellen shell (obwohl dies kann dazu führen, dass einige Systemstartelemente zweimal ausführen, das könnte dazu führen, dass andere Probleme)exec bash
um eine neue shell[[ -f ~/.bashrc ]] && . ~/.bashrc
in meinem Profil.InformationsquelleAutor nneonneo
Fehler:
Lösung :
Sicherzustellen, dass es keine Leerzeichen nach den
=
symbolInformationsquelleAutor Mohan Raj
Stellen Sie sicher, dass die folgende Zeile vorhanden ist innerhalb
.bash_profile
test -f ~/.bashrc && . ~/.bashrc
Wenn nicht, dann fügen Sie es an den Anfang. Dieser code wird von
.bash_profile
zu laden, bis.bashrc
.Wenn diese Zeile nicht vorhanden innen
.bash_profile
dann alles, was Sie geben Sie in.bashrc
wird nicht geladen.InformationsquelleAutor Sparkzz
Andere Lösung ist, rufen Sie Ihren Befehl mit der bash-mit-i -c-option:
InformationsquelleAutor Lucas Coelho