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
cdVorgang beginnt - die
cdprocess ändert das Verzeichnis für den cd-Prozess - die
cdProzess beendet - Ihre Shell hat immer noch denselben Zustand, einschließlich des aktuellen Arbeitsverzeichnisses, den sie vor dem Start hatte.