Отменить флаг по умолчанию

175
cwallenpoole

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

1 ответ на вопрос

1
glenn jackman

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

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

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

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

Похожие вопросы