Если вы получаете доступ к нескольким серверам в течение рабочего дня, то возможность с первого взгляда определить, с каким из них вы работаете, может быть очень полезна. Сегодняшний пост 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 [m сбрасывает передний план и фон к их значениям по умолчанию, поэтому здесь : \ w появляется на переднем плане / фоне терминала.
- \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm] устанавливает фон / передний план на XXX / YYY .
- Для сценария, который выводит доступные цвета, попробуйте colortest.
- Чтобы проверить и увидеть, как выглядит Bash Prompt, используйте: echo -e «<\ 033 [48; 5; 16m \ 033 [38; 5; 196mhost \ 033 [m: dir> $«
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь .
Изображение предоставлено: Emx (Википедия)