Siempre me he preguntado por qué cd no es un programa, pero nunca logró encontrar la respuesta.
¿Alguien sabe por qué es así?
Respuesta aceptada:
El cd El comando 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 que funcionaría así:
cd foo- el
cdcomienza el proceso - el
cdproceso cambia el directorio para el proceso cd - el
cdsalidas del proceso - su shell aún tiene el mismo estado, incluido el directorio de trabajo actual, que tenía antes de comenzar.