WikiDer > CD (Unix)

cd (Unix)

Es BefehlCD (chängen dRichtung) ist auf wordt . gesetzt Unix und Unix-ähnliche Systeme zur Aktualisierung der aktuellen Arbeitsverzeichnis wechseln. Normalerweise wird der Befehl mit einem Argument aufgerufen; dieses Argument enthält dann den (absoluten oder relativen) Pfad zum neuen Verzeichnis. Wird der Befehl ohne Argumente aufgerufen, ändert sich das aktuelle Arbeitsverzeichnis auf den Wert des Umgebungsvariable $HOME, in dem die Home-Verzeichnis des Benutzers. Wenn diese Variable aus irgendeinem Grund nicht gesetzt ist, schlägt der Befehl fehl. Das gleiche passiert natürlich auch, wenn das angegebene Verzeichnis nicht existiert oder nicht erreichbar ist.

Denn CD zeigt den aktuellen Stand an shows Prozess Änderungen (nämlich das Arbeitsverzeichnis) muss es im in Schale eingebaut und kann kein separates Programm sein, da Tochterprozesse unter Unix den Zustand ihres Elternprozesses nicht ändern können.

In moderneren Shells wird der Pfad zum ursprünglichen Verzeichnis in $OLDPWD und der Pfad zum neuen Verzeichnis in $PWD gespeichert. Mit CD- kann dann in das "vorherige" Verzeichnis zurückgeführt werden. An diesem Punkt wechseln $PWD und $OLDPWD die Plätze, d.h. wieder CD- geht nicht "weiter zurück"!

In moderneren Shells ist es auch möglich, zwei Argumente zu übergeben. In diesem Fall wird im Namen des aktuellen Verzeichnisses das erste Vorkommen des ersten Arguments durch das zweite Argument ersetzt. Der resultierende Name ist der Name des Verzeichnisses, in das man geht. Beispiel:

das aktuelle Verzeichnis: /home/jan/literatur/englisch
der Benutzer gibt den Befehl CD Jan Piet
das neue Verzeichnis wird dann: /home/piet/literatur/englisch

Das Äquivalent in POSIXC ist die Funktion chdir() in unistd.h.