Si je crée un lien symbolique dans le terminal avec une commande comme
ln -s /path/to/some/directory symbolicLink
puis suivez le lien avec
cd symbolicLink
le terminal semble penser que le cwd est ~/symbolicLink/
bien qu'il soit réellement affiché ~/path/to/some/directory/
(en supposant que le lien a été établi en ~
, bien sûr). Cela signifie que si je tape ensuite, cd ..
je suis renvoyé à ~
, car le terminal «pense» que c'est le parent du cwd.
De quoi aurais-je besoin pour changer de façon à ce que cd ..
cela m'amène plutôt ~/path/to/some/
, c'est -à -dire le vrai parent de ~/path/to/some/directory/
?
cd -P
résout toujours le problème auquel j'étais confronté, mais il est toujours utile de le savoir.Une autre manière consiste à exécuter:
la source
Je ressens votre douleur - je considère
bash
qu'elle est fondamentalement brisée pour une utilisation interactive à cause de ce comportement.tcsh
est un shell beaucoup plus convivial pour une utilisation interactive. Partezbash
pour la programmation (si vous insistez pour écrire des scripts shell alors qu'il existe de bien meilleures alternatives parmi les nombreux langages de script).Pour changer les shells pour n'importe quel utilisateur, tapez
chsh
sur la ligne de commande et suivez les invites (encore une fois, je recommande/bin/tcsh
et l'excellent livre O'Reilly Using csh et tcsh , disponible pour presque rien utilisé).la source
cd
comportement par défaut des liens symboliques. Je dois me rappeler de mettreset -o physical
ma.bashrc
ou.bash_profile
pour chaque machine que j'utilise.