У меня в настоящее время есть свой удар PS1
набор к чему-то вроде этого:
PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\w\n\$ "
Как я могу заставить его показать полный путь вместо относительного (например. /home/dave/dir
вместо ~/dir
)?
Просто замена \w
с \$PWD
:
PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\$PWD\n\$ "
Так или иначе, если бы Вы возражаете против небольшой подсказки, я записал бы что-то как:
PS1='\[`[ $? = 0 ] && X=2 || X=1; tput setaf $X`\]\h\[`tput sgr0`\]:$PWD\n\$ '
Humm ~ / dir является полным путем, но использованием "ярлыка". Например, если Вы делаете cd /usr/local
Ваша подсказка по всей вероятности отобразит полный путь/usr/local. Так так или иначе у Вас уже есть полный путь :-)
Но вероятно Ваш корректный вопрос состоит в том, как отобразить полный путь без каких-либо ярлыков как ~?
Однако я не знаю ответ для того и рассмотрения человека, это, действительно кажется, имеет один (по крайней мере, зарегистрированный).
Выполненный pwd
вместо использования \W
.
Простая версия:
export PS1="\`pwd\` $ "
Используя это в Вашем коде:
export PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\`pwd\`\n\$ "