Как сделать, чтобы Bash-подсказка меняла цвета при входе на сервер?
Если вы получаете доступ к нескольким серверам в течение рабочего дня, то возможность с первого взгляда определить, с каким из них вы работаете, может быть очень полезна. Сегодняшний пост SuperUser Q & A помогает читателю достичь красочной нирваны в его рабочей среде.
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Вопрос
Читатель SuperUser nitins хочет знать, как заставить Bash Prompt изменять цвета при входе на сервер:
Есть ли способ сделать Bash Prompt динамическим, чтобы он менял цвет при входе на сервер? Я хочу, чтобы цвет был зеленым при использовании моей личной системы, но менялся на красный, когда я подключался к серверам. У меня огромное количество серверов, к которым я обращаюсь и не хочу ставить разные .Bashrc на каждом из них.
Как заставить Bash Prompt изменять цвета при входе на сервер??
Ответ
Участник SuperUser Matei David имеет ответ для нас:
Удаленные приглашения Bash устанавливаются удаленным ~ / .Bashrc, поэтому вам все равно нужно будет скопировать его на удаленные серверы. Тем не менее, вы можете использовать один ~ / .Bashrc для всех хостов и установите цвет Bash Prompt на основе имени хоста:
Заметки
- Не ставить PS1 если он еще не установлен (т.е. если оболочка не является интерактивной). Тестирование, чтобы увидеть, если PS1 «не пусто» - это очень распространенный способ выяснить, является ли оболочка интерактивной, и вы не хотите путать программы, которые делают это (возможно, более точный тест проверяет, является ли $- содержит я).
- Если вы хотите, чтобы этот код запускался при входе на удаленный сервер, у вас всегда должен быть один из файлов профиля. ~ / .Bashrc (Я предполагаю, что вы это знаете).
- В PS1, коды выхода должны быть включены в \ [… \].
- \ [033 [м сбрасывает передний план и фон по умолчанию, поэтому здесь : \ Ш появляется в терминале переднего плана / фона.
- \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm устанавливает фон / передний план на XXX / YYY.
- Для сценария, который выводит доступные цвета, попробуйте colortest.
- Чтобы проверить и увидеть, как выглядит Bash Prompt, используйте: echo -e «$»
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.
Изображение предоставлено: Emx (Википедия)