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

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

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

Другие вопросы по тегам