Однако, если слово будет «вниз», я хочу, чтобы подсказка была другого цвета:
PS1='[\t][\u@\h]\[\e[4;91m\][Down]\[\e[0m\]# '
Я хочу, чтобы изменение было «на лету», означая в каждой новой строке (нажатие Enter), я хочу, чтобы приглашение обновлялось в зависимости от результата.
Если возможно, это должно быть как-то сделано постоянным через .bashrc.
Являются ли «внимание» и «Вниз» единственно возможными значениями?
jlliagre 10 лет назад
0
Так какие цвета вы ожидаете для других значений?
jlliagre 10 лет назад
0
Ответ обновлен.
jlliagre 10 лет назад
0
Ответ обновлен снова и сделан проще. Вы должны поместить этот код в ваш .bashrc, что означает, что вы не должны удваивать обратную косую черту в `\ $ NF`.
jlliagre 10 лет назад
0
Привет, если я не ставлю двойную обратную косую черту, я получаю синтаксическую ошибку. есть ли способ пообщаться здесь? Мне нужно немного объяснений. Спасибо
AlonCo 10 лет назад
0
Какую ОС и какую оболочку вы используете (точно)?
jlliagre 10 лет назад
0
и вы только что вырезали и вставили этот кусок кода в ваш .bashrc или вы делали что-то еще? Какое точное сообщение об ошибке вы получили?
jlliagre 10 лет назад
0
это межсетевой экран CheckPoint Gaia Bash. Как я могу узнать, какую версию Bash я использую?
AlonCo 10 лет назад
0
Этот сделал это хорошо. PS1 = '[\ t] [Expert @ $ HOSTNAME] $ (i = $ (cphaprob stat | grep local | awk "") case $ i в (внимание) printf "\ [\ e [ 4; 92 м \] [Активное внимание] \ [\ e [0 м \] ";; (Актив) printf" \ [\ e [0; 92 м \] [Актив] \ [\ e [0 м \] ";; ( Ожидание) printf "\ [\ e [0; 93 м \] [Ожидание] \ [\ e [0 м \]" ;; (Вниз) printf "\ [\ e [4; 91 м \] [Вниз] \ [\ e [0m \] ";; (Готово) printf" \ [\ e [4; 96m \] [Готово] \ [\ e [0m \] ";; (*) printf" \ [\ e [0; 101м \ ] [Ошибка] \ [\ e [0m \] ";; esac) # '
AlonCo 10 лет назад
0
Рад, что ты сделал это. Чтобы узнать, какую версию bash вы используете, запустите `bash --version`.
jlliagre 10 лет назад
0
0
daBeamer
Вам нужно будет использовать как PROMPT_COMMANDпеременную, так и PS1переменную, переопределив PS1переменную внутри PROMPT_COMMAND. Я позволю вам сослаться на другие ответы для уточнения того, как выполнить вашу конкретную потребность, но это разрешит запрос на обновление "на лету". Это была проблема, с которой я столкнулся при работе с включением статуса выхода в каждом новом приглашении (если не ноль).
Например, мои файлы конфигурации bash «создают» приглашение PS1, которое впоследствии устанавливается с помощью следующей команды (где переменная ps1представляет то, что я хочу, чтобы моя PS1переменная была):