Bash cd in ein Verzeichnis, indem Sie einfach seinen Namen eingeben

441
Bemmu

Gibt es eine Möglichkeit, bash cd standardmäßig in ein Verzeichnis zu bringen, wenn ich nur den Verzeichnisnamen eingebe?

Im Moment bekomme ich:

~ bemmu$ some_directory/ -bash: some_directory/: is a directory 

Was ich erreichen möchte ist:

~ bemmu$ some_directory/ ~/some_directory bemmu$  

Ich habe etwas an Google versucht, aber keine Antwort gefunden. Ich bin auf " GNU bash, Version 3.2.57 (1) -release (x86_64-apple-darwin15) ".

0
Ich denke, selbst wenn es als Antwort des Interpreters auf alle oder nicht definierte, nicht vorhandene Befehle implementiert werden könnte. Es würde gegen die Regeln der Syntax verstoßen, weshalb es sowieso nicht empfohlen wird. w17t vor 8 Jahren 0
Beantwortet zB [hier] (http://unix.stackexchange.com/questions/4262/change-directory-without-typing-cd) (autocd-Option). dirkt vor 8 Jahren 3

2 Antworten auf die Frage

2
Kamil Maciorowski

Einer der Kommentare weist auf diese Antwort hin .

So aktivieren Sie die Funktion:

shopt -s autocd 

(Vielleicht möchten Sie die obige Zeile zu Ihrem hinzufügen .bashrc.)

Etwas deaktivieren:

shopt -u autocd 
Gut zu wissen für die Zukunft, aber jetzt bin ich älter. Sieht aus wie dies in 4.0 eingeführt wird. Bemmu vor 8 Jahren 0
1
strobelight

Fügen Sie dies am Ende Ihrer .bashrc-Datei hinzu

try_cd_on_error() { trap trycd ERR } trycd() { trap "" ERR if cd $BASH_COMMAND 2>/dev/null; then pwd trap trycd ERR return fi trap trycd ERR } 

Starten Sie dann eine neue Bash-Shell und geben Sie try_cd_on_error ein, um sie einzurichten. Geben Sie anschließend einen Verzeichnisnamen ein.