2015-06-19 2 views
0

Моего бывшего запроса заключается в следующем:Добавления цвета подсказывать прекращается обновлением текущей директории

PS1='[\[email protected]\h $(x=${PWD%/*}; echo ${x##*/}/${PWD##*/})] \! $ ' 

Это монохромное подсказку, которая будет динамически отображать последние 2 директории в текущей директории. Я изменил его на это, чтобы добавить цвет:

PS1="\[\033[01;32m\]\[email protected]\h\[\033[01;35m\] $(x=${PWD%/*}; echo ${x##*/}/${PWD##*/})\[\033[00m\] \! $ " 

Цвет работает, но каталог не меняется, как вы cd вокруг системы. Почему нет?

+1

Вы уверены, что вы были двойные кавычки на предыдущей строке? Я не считаю, что это работает, как вы описали, если бы вы это сделали. Раньше у вас были одинарные кавычки? –

+0

Вы правы. В оригинале были одинарные кавычки (я не мог сказать, потому что я просто повторял строку). Проблема заключается в использовании одиночных кавычек во второй версии. –

+1

Не используйте 'echo', чтобы увидеть что-то подобное. Используйте 'declare -p PS1' и т. Д. Это более полезно. –

ответ

0

Это одна с одинарной кавычки работает отлично:

PS1='\[\033[01;32m\]\[email protected]\h\[\033[01;35m\] $(x=${PWD%/*}; echo ${x##*/}/${PWD##*/})\[\033[00m\] \! $' 
Смежные вопросы