Ich habe mich immer gefragt, warum cd
ist kein Programm, habe es aber nie geschafft, die Antwort zu finden.
Weiß jemand warum das so ist?
Akzeptierte Antwort:
Die cd
Der Befehl ändert das „aktuelle Arbeitsverzeichnis“, richtig?
„Aktuelles Arbeitsverzeichnis“ ist eine Eigenschaft, die für jeden Prozess einzigartig ist.
Wenn also cd
ein Programm wäre, würde es so funktionieren:
cd foo
- die
cd
Vorgang beginnt - die
cd
process ändert das Verzeichnis für den cd-Prozess - die
cd
Prozess beendet - Ihre Shell hat immer noch denselben Zustand, einschließlich des aktuellen Arbeitsverzeichnisses, den sie vor dem Start hatte.