Задать вопрос
@Asparagales

Как настроить приглашение к вводу в bash?

Хочу настроить приглашение к вводу в bash на свой вкус и цвет. Для обычного пользователя в файл ~/.bashrc добавил следущую строку:

PS1="\[\033[1;34m\][\u@\h] \W \$\[\033[0m\] "

Результат получился такой, какой и был нужен: строка приглашения имеет синий цвет и выгляди примерно так:
[user@host] ~ $

Такого же эффекта я пытаюсь добиться для пользователя root, только приглашение к вводу должно иметь красный цвет. Для этого я внес в файл /root/.profile следующую запись:

PS1="\[\033[0;31m\][\u@\h] \W \$\[\033[0m\] "

Это принесло желаемый результат, но не полностью. Символ \$ в записи ответственен за вывод символа $ в приглашении к вводу для обычного пользователя и символа # для рута. Но у меня символ $ выводится и для рута тоже. Есть возможность это исправить?

Дополнение. Описанный выше результат наблюдается, если я в bash переключаюсь на учетную запись root при помощи команды su - . Если же использовать просто su, то никакого результата вообще нет. Файл /root/.profile не работает.
  • Вопрос задан
  • 611 просмотров
Подписаться 1 Средний Комментировать
Ответ пользователя Saboteur К ответам на вопрос (2)
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Так собственно "-" в команде su и обозначает - прочитать профайл пользователя, иначе вы просто наследуете права root без выполнения его профайла.

А так - еще много зависит от дистрибутива.
Проверьте глобальные настройки в /etc/profile.d - в RedHat там может быть например RootPrompt.sh, который выполняется для рута и перебивает ваши настройки.
Ответ написан
Комментировать