Вопрос или проблема
Когда я подключаюсь к машине с Linux через SSH из Windows, используя MobaXTerm, я получаю преимущество в виде подсветки синтаксиса (https://mobaxterm.mobatek.net/features.html –> смотрите Подсветка синтаксиса в терминале
). Она автоматически выделяет ключевые слова, такие как error
, pass
, failed
, missing
и т.д. Мне это крайне полезно при выполнении сценариев, которые выдавают много отладочного текста — подсветка помогла мне заметить ошибки, которые я пропустил на протяжении нескольких месяцев из-за громоздкости сообщений.
Я знаю, что такие программы, как VIM, имеют подсветку синтаксиса, но это на уровне программы и специфично для языка (или типа файла).
Я ищу такую же подсветку, как в MobaXTerm, но на уровне терминала Linux. В настоящее время мне приходится переключаться на Windows и подключаться к машине с Linux только для того, чтобы иметь эту функцию, что утомительно. Было бы здорово, если бы существовал плагин для терминала.
Подсветка синтаксиса в терминале предлагает несколько решений, но требует, чтобы вывод направлялся на внешнюю программу.
https://github.com/cocalele/PuTTY-en/tree/lele-main
в этой ветке PuTTY имеется подсветка ключевых слов, но только для нескольких ключевых слов: error, exception, fail, fatal, warn.
Эти ключевые слова зашиты в файл https://github.com/cocalele/PuTTY-en/blob/lele-main/terminal/keyword-match.c.
Ответ или решение
Вопрос о подсветке синтаксиса в терминале Linux при удаленном подключении по SSH – это важная тема для многих разработчиков и системных администраторов. Многие пользователи MobaXterm оценили его преимущества в визуализации выходных данных, особенно когда дело касается выявления ключевых слов, таких как error
, pass
, failed
и других. Это значительно упрощает анализ сообщений об ошибках, особенно в условиях большого объема выводимой информации.
Проблема
При SSH-подключении к Linux-машине из Windows с помощью MobaXterm пользователи получают подсветку ключевых слов в терминале, что отсутствует в стандартных терминалах Linux. Текущие решения, такие как использование grep
и других утилит, требуют перенаправления вывода, что создает дополнительные сложности и может замедлять работу при анализе кода. Необходима возможность подсветки ключевых слов "на лету", без необходимости использования внешнего программного обеспечения.
Возможные решения
1. Использование bash
с подсветкой
Некоторые версии bash
поддерживают настройку подсветки ключевых слов в терминале. Для этого можно воспользоваться следующими инструкциями:
-
Проверка возможностей: Убедитесь, что у вас установлена последняя версия
bash
, чтобы улучшить поддержку возможности подсветки. -
Настройка
.bashrc
: Откройте файл~/.bashrc
и добавьте следующие строки для включения цветового вывода:export PS1="\[\e[0;32m\]\u@\h:\w\$\[\e[m\] " alias ls='ls --color=auto'
Это улучшит общую видимость команд, но не обеспечит полную подсветку ключевых слов в выводе команд.
2. Использование LESS
с цветами
Вы можете настроить less
, чтобы он подсказывал ключевые слова, когда вы просматриваете длинные выводы:
-
Установка: Установите
less
(если он еще не установлен) и убедитесь, что в файле конфигурации~/.bashrc
присутствует следующее:export LESS='-R' export LESSOPEN='|highlight -O ansi %F'
Эта настройка позволяет вам использовать
less
для просмотра выводов с раскрашиванием ключевых слов. Однако она также требует перенаправления.
3. Использование bat
вместо cat
bat
– это более современная версия cat
, которая подразумевает подсветку синтаксиса и выводит содержимое файлов с подсветкой. Установите bat
через менеджер пакетов:
sudo apt install bat
Затем вы можете использовать bat
для просмотра логов с более удобным и заметным отображением.
4. Патчи и плагины
Для опытных пользователей возможно использование отдельных патчей или расширений, которые создадут подобную функциональность:
- Изучите репозиторий PuTTY-en и его возможности подсветки ключевых слов. Хотя он ограничен, это может быть временным решением для пользователей, работающих в Windows и желающих использовать
PuTTY
.
Заключение
На данный момент нет универсального решения для подсветки ключевых слов в реальном времени в терминале Linux, аналогичного тому, что предоставляет MobaXterm. Однако упомянутые методы могут помочь вам улучшить визуализацию вывода команд и имитацию необходимой подсветки при анализе логов и ошибок. يدق كلك لما تروح لتحليل وزراعاتية معَّاجات لابد عليك اقتضير كل مر سعت، لأن التكنلوجي تتطور بسرعة، سنرى вероятно появление новых возможностей в в следующих версиях программного обеспечения.
Приобретение навыков работы с этими инструментами может существенно упростить вашу работу и повысить продуктивность.