Bash: Die `CDPATH` Environment Variable

Am bei Plasisent veröffentlicht.

Diese Woche habe ich die Bash Environment Variable CDPATH kennengelernt. Ein sehr nützliches Feature! Kurz erklärt: cd wird alle angegebenen Verzeichnise wie das aktuelle Verzeichnis (siehe . oder pwd) verwenden. Dadurch werden alle deren Unterverzeichnisse in der Tab-Vervollständigung angeboten.

Aktuell verwende ich diese Zeile in meiner .bashrc um den CDPATH zu setzen:

export CDPATH=/home/micha/Documents/:/home/micha/Documents/projects/

Das folgende Beispiel demonstriert die Funktionsweise von cd mit angegebenem CDPATH. Spannend in dem Zusammenhang: Sowohl in Documents, als auch in projects habe ich einen Ordner codemaschine.

# Aktuell befinde ich mich im Home-Verzeichnis.
# Hier lasse ich mir alle Unterordner anzeigen.
~ $ find . -maxdepth 1 -type d \( ! -iname ".*" \)
./bin ./Music ./Videos ./Desktop ./Downloads ./Documents ./public_html ./tmp ./Pictures

~ $ cd codemaschine/Kunde/
/home/micha/Documents/codemaschine/Kunde

~/Documents/codemaschine/Kunde $ cd codemaschine/kunden_project_code/
/home/micha/Documents/projects/codemaschine/kunden_project_code

~/Documents/projects/codemaschine/kunden_project_code $

Weitere Informationen zu CDPATH