В качестве контекста. У меня есть папка, на которую я создал символическую ссылку в своем $HOME
каталоге.
~> ls -s /var/www/to_link "$HOME/linked"
Я cd
в"$HOME/linked"
Итак, по умолчанию pwd
показывает текущий каталог, включая символические ссылки. В этом случае это будет /home/christopher/linked
. Если я хочу, чтобы он вернул, /var/www/to_link
мне нужно ввести pwd -P
. Я обычно нахожу эту вторую форму более полезной, чем первую, но я хотел бы, чтобы обе были доступны.
- Возможно ли сделать
pwd
так, чтобы флаг был включен по умолчанию-P
, а затем использовать другой флаг для включения символических ссылок? Так что в принципе,pwd
вернет/var/www/to_link
иpwd -X
(или какой-то другой флаг) вернет оригинальный/home/christopher/linked
.
решение1
У обоих cd
и pwd
есть параметры -P
и -L
. Похоже, вы хотите использовать cd -P
по умолчанию (что затем устанавливает $PWD в физический каталог, что затем влияет на вашу командную строку bash и вывод pwd
).
Вы можете поместить один из них в свой .bashrc:
alias cd='cd -P'
cd () { builtin cd -P "$@"; }
Если вы хотите увидеть «~/linked» в командной строке bash, используйте «логический» cd:cd -L ~/linked