Как я могу отобразить полный путь в подсказке удара?

У меня в настоящее время есть свой удар 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)?

50
задан 22.10.2010, 11:52

4 ответа

Просто замена \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\$ '
49
ответ дан 07.12.2019, 08:29

в ps1 удара;-W должен быть относительным, и-w абсолютом, таким образом, в вышеупомянутом у Вас должен уже быть абсолют?!

http://wiki.archlinux.org/index.php/Color_Bash_Prompt

0
ответ дан 07.12.2019, 08:29

Humm ~ / dir является полным путем, но использованием "ярлыка". Например, если Вы делаете cd /usr/local Ваша подсказка по всей вероятности отобразит полный путь/usr/local. Так так или иначе у Вас уже есть полный путь :-)

Но вероятно Ваш корректный вопрос состоит в том, как отобразить полный путь без каких-либо ярлыков как ~?

Однако я не знаю ответ для того и рассмотрения человека, это, действительно кажется, имеет один (по крайней мере, зарегистрированный).

0
ответ дан 07.12.2019, 08:29

Выполненный 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\$ "
0
ответ дан 07.12.2019, 08:29

Вставьте свой дом .bashrc

PS1='\u@\h:\w\$ '
25
ответ дан 07.12.2019, 08:29

Теги

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