Linux

Как сделать, чтобы Bash-подсказка меняла цвета при входе на сервер?

как-сделать-вы-макияж-The-Баш-подсказка с изменением цвета, когда-вошедшего в-а-сервер-00-финале

Если вы получаете доступ к нескольким серверам в течение рабочего дня, то возможность с первого взгляда определить, с каким из них вы работаете, может быть очень полезна. Сегодняшний пост SuperUser Q & A помогает читателю достичь красочной нирваны в своей рабочей среде.

Сегодняшняя сессия Вопросов и Ответов приходит к нам благодаря SuperUser — подразделению Stack Exchange, объединенной группой веб-сайтов вопросов и ответов.

Вопрос

Читатель SuperUser nitins хочет знать, как заставить Bash Prompt изменять цвета при входе на сервер:

Есть ли способ сделать Bash Prompt динамическим, чтобы он менял цвет при входе на сервер? Я хочу, чтобы цвет был зеленым при использовании моей личной системы, но менялся на красный при каждом подключении к серверам У меня есть огромное количество серверов, к которым я обращаюсь, и я не хочу ставить разные .bashrc на каждый из них.

Как заставить Bash Prompt изменять цвета при входе на сервер?

Ответ

Участник SuperUser Matei David имеет ответ для нас:

Удаленные приглашения Bash устанавливаются удаленным ~ / .bashrc , поэтому вам все равно придется скопировать его на удаленные серверы. Однако вы можете использовать один ~ / .bashrc для всех хостов и установить цвет Bash Prompt, основываясь на имени хоста:

как-сделать-вы-макияж-The-Баш-подсказка с изменением цвета, когда-вошедшего в-а-сервер-01

Примечания

  • Не устанавливайте 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 (Википедия)

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux