Si creo un enlace simbólico en la terminal con un comando como
ln -s /path/to/some/directory symbolicLink
y luego sigue el enlace con
cd symbolicLink
el terminal parece pensar que el cwd es ~/symbolicLink/
a pesar de que realmente se está mostrando ~/path/to/some/directory/
(suponiendo que el enlace se haya realizado ~
, por supuesto). Lo que esto significa es que si cd ..
escribo me devuelven a ~
, porque el terminal 'piensa' que este es el padre del cwd.
¿Qué necesitaría para cambiar de tal manera que cd ..
me llevara ~/path/to/some/
, es decir, el verdadero padre de ~/path/to/some/directory/
?
cd -P
todavía resuelve el problema que estaba enfrentando, pero aún es útil saberlo.Una forma alternativa es ejecutar:
fuente
Siento su dolor: considero
bash
que básicamente está roto para uso interactivo debido a este comportamiento.tcsh
es un shell mucho más fácil de usar para uso interactivo. Vayabash
a la programación (si insiste en escribir scripts de shell cuando hay alternativas mucho mejores entre los muchos lenguajes de scripting).Para cambiar shells para cualquier usuario, escriba
chsh
en la línea de comando y siga las instrucciones (nuevamente, recomiendo/bin/tcsh
y el excelente libro de O'Reilly con csh y tcsh , disponible para casi nada usado).fuente
cd
comportamiento predeterminado de los enlaces simbólicos. Tengo que recordar ponerset -o physical
en mi.bashrc
o.bash_profile
para cada máquina que uso.