Как контекст. У меня есть папка, которую я поместил в свой каталог $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 ответ1

1

И cd и pwd имеют опции -P и -L . Кажется, вы хотите использовать cd -P по умолчанию (который затем устанавливает $ PWD в физический каталог, который затем влияет на приглашение bash и вывод pwd).

Вы можете поместить один из них в ваш .bashrc:

alias cd='cd -P'

cd () { builtin cd -P "$@"; }

Если вы хотите увидеть «~/ connected» в приглашении bash, вы будете использовать "логический" cd: cd -L ~/linked

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .