3

Я использую значение по умолчанию PS1, поставляемое с Ubuntu:

\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$

что нормально в 90% случаев. Тем не менее, когда я cd к символической ссылке "каталог", имя символической ссылки, а не значение pwd -P используется.

Как я могу изменить \w, чтобы получить реальный текущий каталог? И все же отображать в формате, представленном \w или \W?

2 ответа2

8

Используйте $(pwd -P) вместо \w . Как это:

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(pwd -P)\[\033[00m\]$ '
2

Чтобы расширить ответ hek2mgl, чтобы сделать ваше приглашение "автоматическим", используйте переменную PROMPT_COMMAND :

PROMPT_COMMAND='PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(pwd -P)\[\033[00m\]\$ "'

Из руководства:

PROMPT_COMMAND

Если установлено, значение интерпретируется как команда, выполняемая перед печатью каждого основного приглашения ($ PS1).

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