Приглашение Bash в OS X-терминале не работает - PullRequest
7 голосов
/ 20 сентября 2008

Я использую bash в приложении OS X Terminal, и мой пользовательский $ PS1 ломается, когда я прокручиваю свою историю.

PS1="${BLUE}\u${CYAN}@${RED}\h${BLUE}\w\n\[${red}\$${NC}\]"

тоже пробовал PS1 = "$ {СИНИЙ} \ u $ {CYAN} @ $ {RED} \ h $ {СИНИЙ} \ w \ r \ n [$ {красный} \ $$ {NC}]"

Проблема, похоже, в новой строке. Я использовал эту подсказку bash на Slackware без проблем.

Ответы [ 6 ]

8 голосов
/ 20 сентября 2008

Вам нужно [and] arond для каждой последовательности побега; $ BLUE и тому подобное включают это? Если нет, они должны быть заключены в скобки с этими вызовами.

2 голосов
/ 11 января 2010

У меня была такая же проблема при входе в систему на удаленных (debian) системах. Поскольку все экранированные значения в .bashrc были хорошо заключены в скобки, я немного погуглил и обнаружил, что причиной могут быть различия в размере окна в локальной и удаленной системе. Добавление

shopt -s checkwinsize

в .bashrc на удаленных системах исправили проблему для меня.

Источник: http://forums.macosxhints.com/showthread.php?t=17068

2 голосов
/ 16 декабря 2009

Чтобы избежать таких «ускользающих» трудностей, когда вы подсказываете, что эволюция нуждается в усложнении, это должен быть скелет, чтобы начать расти:

function _my_prompt ()
{ 
  # magic goes here
  my_prmpt=.... 
}
PROMPT_COMMAND='_my_prompt'
PS1="[\$my_prmpt] \$"
0 голосов
/ 20 сентября 2008

Я сейчас попробовал

PS1="${BLUE}\u${CYAN}@${RED}\h${BLUE}\w${RED}\r\n\$\[${blue}\]"

Что, кажется, работает Скобки, необходимые для работы предыдущих команд.

0 голосов
/ 20 сентября 2008

У меня та же проблема (на OS X) с вашим PS1. Если я уберу \[ и \]

PS1="${BLUE}\u${CYAN}@${RED}\h${BLUE}\w\n${red}\$${NC}"

это отлично работает. Нужны ли квадратные скобки? Я никогда не использовал их, но из документов :

\[ Начните последовательность непечатных символов. Это может быть использовано для встроить терминальную последовательность управления в Подсказка.

\] Завершить последовательность непечатаемых символов.

0 голосов
/ 20 сентября 2008

Если проблема, похоже, связана с переводом строки, попробуйте ввести \ r \ n вместо \ n и посмотреть, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...