Смягчение беспорядков при работе аналогичных сред в нескольких серверах

[12202]FS[113062] - это регекс: awk интерпретирует [113063]-|-[113064] как "[113065]-[113066] или [113067]-[113068]".[12203]-[113069]-\|-[113070] вместо этого. Вам нужно будет удвоить обратный слеш внутри строкового литерала.[12204]или[12205]
1
25.08.2014, 22:54
2 ответа

Я использую разные цвета фона для разных сред:
. производство: красный - подумайте, прежде чем нажимать enter
. тестирование: желтый - уверен, что хочешь это сделать?
dev: зеленый - не стесняйтесь сходить с ума

Другой обязательный - иметь разные подсказки, хорошей идеей было бы включить имя хоста.

4
27.01.2020, 23:15

Довольно очевидно, что в конце концов всегда нужно знать, какие команды вы вводите в какой терминал. Теперь вы можете сделать несколько вещей, чтобы отличить сеансы:

  • используйте разные цвета терминалов (это включает в себя цвета фона). Один из способов достичь этого - заставить терминал использовать определённый фон, однако, более гибко запрашивать это в командной строке оболочки - скорее всего, в командной строке (которую вы поместили в инициализационный файл оболочки (см. ниже);

  • использовать различные командные подсказки. Обычно это достигается установкой переменной окружения, например, PS1 - прочтите документацию об оболочки, что именно нужно сделать. Используйте ANSI-экспортные последовательности , чтобы ввести цвет и/или позиционирование (заметьте, что особенно последнее может нарушить вывод в некоторых терминалах).

    Пример для bash может выглядеть так:

    export PS1="^[[31;1m\u@\h:^[[0;1m\w^[[0m "
    

    здесь \u означает имя пользователя, \h означает имя хоста, \w означает текущую рабочую директорию, так что это даст вам запрос, подобный этому:

    example prompt

    ^[ означает символ Escape, который вы обычно вставляете, нажимая Ctrl+V, а затем Esc. Это не два символа ^ и [ - поэтому вы не можете скопировать его дословно отсюда и ожидать, что он заработает.

    Существует бесконечное множество способов подстроить это - для того, чтобы привлечь внимание к особо опасному терминалу, не слишком напрягая глаза, например, использование ярко-красного цвета для команд также может быть разумным вариантом (нужно использовать ^[[0;31;1m] вместо простого ^[[0m в конце строки запроса)).

  • Некоторые терминалы могут интерпретировать некоторые экранирующие последовательности как заголовок - таким образом, вы можете поместить содержимое приглашения в заголовок окна. Имейте в виду, что это помешает shell'у правильно разбивать командные строки, если только вы не скажете ему игнорировать эти экранирующие последовательности (это, конечно, относится и к цветам - в bash это делается путем добавления частей "нулевой ширины" между \[ и \])).

  • Используйте терминальный мультиплексор на удаленных машинах (использование локально тоже неплохая идея). Это не может быть переоценено, особенно при удаленной работе он может сэкономить много хлопот во время падения соединения. AFAIK, можно получить пользовательскую строку состояния на экране , но люди пробуют tmux обычно находят это лучше всеми мыслимыми способами.

  • некоторые оболочки позволяют вам подключить собственную функциональность к обработке команды, таким образом вы можете заставить оболочку спросить вас, действительно ли вы уверены в выполнении конкретной команды, прежде чем случится катастрофа.

Комбинируйте вышеперечисленное.

2
27.01.2020, 23:15

Теги

Похожие вопросы