Mi sono sempre chiesto perché cd
non è un programma, ma non sono mai riuscito a trovare la risposta.
Qualcuno sa perché questo è il caso?
Risposta accettata:
Il cd
il comando modifica la "directory di lavoro corrente", giusto?
"directory di lavoro corrente" è una proprietà unica per ogni processo.
Quindi, se cd
fosse un programma funzionerebbe così:
cd foo
- il
cd
inizia il processo - il
cd
process cambia la directory per il processo cd - il
cd
il processo esce - la tua shell ha ancora lo stesso stato, inclusa la directory di lavoro corrente, che aveva prima di iniziare.