Supongamos que tengo las carpetas ~/a/b en mi carpeta de inicio, y la carpeta b contiene un enlace simbólico a '..' llamado 'symlink'. Entonces realizar las siguientes acciones en bash:Comportamiento de cd/bash en enlaces simbólicos
[email protected]:~$ cd a/b/symlink
[email protected]:~/a/b/symlink$ pwd -P
/home/hm/a
[email protected]:~/a/b/symlink$ cd ..
[email protected]:~/a/b$ pwd -P
/home/hm/a/b
-P pwd imprime el directorio actual de trabajo, eliminación de referencias a todos los enlaces simbólicos. ¿Por qué el directorio de trabajo/home/hm/a/b está al final, y no/home/hm?
FYI, puede usar 'set physical' -o o' set -P' para hacer este comportamiento permanente. – Kevin
.. Debo mencionar que la implementación probablemente esté más en línea con la descripción de @ geekosaur; No esperaría que sobrescribir 'OLDPWD' con tu propio valor influya en el comportamiento de' cd ..'. – sarnold
Estoy de acuerdo en que no creo que OLDPWD haga nada aquí. Lo probé "cd" bajando una cadena de enlace simbólico tres niveles de profundidad y luego haciendo "cd .." un par de veces. Funcionó bien Si se usó OLDPWD, no funcionaría. OLDPWD solo recuerda un directorio y no se pudo usar para volver a más de un directorio. Por lo tanto, OLDPWD no se usa. –