Sabía que hay una variable PWD que cambia cuando escribo el comando cd. Pero cuando trato de cambiarlo manualmente, el directorio actual no cambia. ¿Cómo manipular PWD directamente?
Las asignaciones a esta variable pueden ignorarse.
Las asignaciones no son especiales en bash, dash, ash, zsh o ksh, y el valor simplemente se sobrescribirá la próxima vez que el shell cambie de directorio.
Si bien otros shells también pueden admitir una variable de este tipo, la variable $PWD generalmente es específica del shell bash.
El manual de bash dice:
PCD
El directorio de trabajo actual establecido por el cd incorporado.
Lo que significa que se configurará cuando use el cd incorporado para cambiar un directorio, pero bash no cambiará el directorio actual cuando configure $PWD .
Al menos en mis máquinas Mac y Linux que ejecutan bash, puede sobrescribir la variable, por lo que ejecutar PWD=/ cambiará su directorio actual (en el indicador) a /.
La variable PWD en bash tiene el control del directorio de trabajo del shell (de nuevo, solo el aviso) y verá que el directorio después del comando PWD= ha sido cambiado pero el comando pwd no se ve afectado por el cambio.
<0>xxxx@dhcp89-089-034:~$ PWD=/ <0>xxxx@dhcp89-089-034:/$ pwd /Users/xxxxAhora, la variable de entorno PWD es un indicador de bash y no es el directorio de trabajo real, ni modificarlo es algo útil a menos que realmente use el comando 'cd'.