Es gibt eine Shell-Option cdable_vars:
cdable_vars
Wenn dies festgelegt ist, cdwird angenommen, dass ein Argument für den integrierten Befehl, der kein Verzeichnis ist, der Name einer Variablen ist, deren Wert das Verzeichnis ist, in das geändert werden soll.
Sie können dies zu Ihrem hinzufügen .bashrc:
shopt -s cdable_vars
export myFold=$HOME/Files/Scripts/Main
Beachten Sie, dass ich die Tilde durch ersetzt habe $HOME. Anführungszeichen verhindern eine Tilde-Erweiterung und Bash würde sich beschweren, dass es kein Verzeichnis gibt ~/Files/Scripts/Main.
Jetzt können Sie dies wie folgt verwenden:
cd myFold
Nicht $erforderlich. Das ist eigentlich der springende Punkt - wie in anderen Antworten gezeigt, cd "$myFold"funktioniert dies ohne die Shell-Option. cd myFoldfunktioniert auch, wenn der Pfad in myFoldLeerzeichen enthält, kein Anführungszeichen erforderlich.
Dies funktioniert normalerweise sogar mit der automatischen Vervollständigung von Registerkarten, da die _cdFunktion in bash_completionprüft, ob festgelegt cdable_varsist - aber nicht jede Implementierung tut dies auf die gleiche Weise, sodass Sie möglicherweise erneut eine Quelle bash_completionin Ihrem erstellen müssen .bashrc(oder bearbeiten müssen /etc/profile, um die Shell-Option festzulegen).
Andere Shells haben ähnliche Optionen, zum Beispiel Zsh ( cdablevars).