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

    Как сделать, чтобы 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 (Википедия)