Перед тем, как щелкнуть мышью, это не типичный вопрос «как сделать так, чтобы моя подсказка bash имела цвет». Я уже настроил мой bash, чтобы он выглядел так:
[user @ host]----[$(pwd)]
$
где все в скобках светло-синий, а все остальное (включая $) черное, добавив следующее в мой файл ~ / .bashrc
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
Цель состоит в том, чтобы сделать так, чтобы при использовании «sudo su» менялось только то, что черный $ превращается в красный #. Я заглянул в /etc/bash.bashrc и / etc / profile, чтобы увидеть, есть ли строка для комментария, но есть кое-что о debian_chroot, которое я не понимаю и не хочу что-то напортачить. Как я могу выполнить то, что я хочу?
PS Это то, что я хочу, чтобы приглашение выглядело как root
[user @ host]----[$(pwd)]
(red)#
edit: пометьте это как исправленное, добавив приведенный выше код в ~ / .bashrc, пока root достиг моей цели. Кроме того, в приведенном выше коде $ (pwd) отображает только домашний каталог (я полагаю, потому что это рабочий каталог при открытии терминала) и никогда не обновляется. Замена $ (pwd) на \ w исправляет это, но отображает домашний каталог как ~
, чего я пытался избежать.
\e[01;31m
, в \[...\]
. Это объясняется в разделе «ПРЕДУПРЕЖДЕНИЕ» в руководстве. Также см. Mywiki.wooledge.org/BashFAQ/053
pwd
не сработало приглашение, заключается в том, что вам нужно экранировать знак доллара, иначе $(pwd)
он будет выполнен до того, как содержимое будет помещено в $ PS1. Вы можете проверить это с этим: PS1="\$(pwd) "
.