Pregunta:
Siempre me he preguntado por qué cd
no es un programa, pero nunca logré encontrar la respuesta.
¿Alguien sabe por qué es así?
Respuesta:
El comando cd
modifica el "directorio de trabajo actual", ¿verdad?
"directorio de trabajo actual" es una propiedad que es única para cada proceso.
Entonces, si cd
fuera un programa, funcionaría así:
-
cd foo
- comienza el proceso de
cd
- el proceso de
cd
cambia el directorio para el proceso de cd - el proceso de
cd
sale - su shell todavía tiene el mismo estado, incluido el directorio de trabajo actual, que tenía antes de comenzar.