У меня есть сценарий bash с включенным командным эхом (set -x). Я хочу, чтобы строки эха были напечатаны зеленым текстом, но вывод фактических команд должен быть в любом цвете по умолчанию. Я могу использовать $ PS4, чтобы получить зеленый цвет, но я не вижу способа включить его после каждого эха, поэтому результат состоит в том, что весь вывод становится зеленым.Как сделать команды эхо-команды bash зелеными
1
A
ответ
3
Попробуйте это:
#!/bin/bash
exec 3<> >(sed -e "s/.*/\o033[0;32m&\o033[0m/")
BASH_XTRACEFD=3
set -x
...
(требует BASH 4.1, я считаю, использовать AWK или перл или Баш встроенных команд вместо СЭД, если вы предпочитаете)
Смежные вопросы
- 1. Как сделать границы TabPane зелеными
- 2. Функция фильтра Javascript: Как сделать этот фильтр зелеными фруктами?
- 3. Почему сиденья становятся зелеными?
- 4. как сделать скрипт bash/shell, который делает «ярлык» для команды
- 5. Подключить команды bash?
- 6. аргументы команды bash
- 7. Найти значение команды bash
- 8. Замена команды Bash переменной
- 9. Дважды Bash подмены команды
- 10. Как запускать многострочные команды bash как sudo
- 11. команды bash изнутри python
- 12. до команды в Bash
- 13. Эквивалент команды bash ** время **
- 14. Bash - Escaping SSH команды
- 15. Синтаксический Bash Вывод команды
- 16. Выполнение команды строки - Bash
- 17. Bash - Получение вывода команды
- 18. Bash выраж индекс команды
- 19. Bash getopts команды
- 20. Команды Bash от vim
- 21. BASH - команды нитевидные
- 22. Bash перенаправления внутри команды
- 23. Bash ошибка команды substution
- 24. Команды интерпретации bash
- 25. Задержка выполнения команды bash
- 26. Назначение значения команды Bash
- 27. Получение команды BASH PID
- 28. Выполнение команды bash
- 29. новообращенной команды Bash РНР
- 30. Команды BASH: pkill/pgrep
Вместо того, чтобы использовать управляющие символы ANSI, вы можете проверить, ваш эмулятор терминала может автоматически выделять строки, соответствующие определенному регулярному выражению (и устанавливать 'PS4' так, чтобы желаемые строки могли быть однозначно сопоставлены.) – chepner
что вы имеете в виду линии для печати? –
@JID, когда вы ставите 'set -x' в скрипт, bash выводит на терминал каждую команду до ее выполнения. Кроме того, различные команды могут иметь некоторый вывод, который они также распечатывают на терминал. Я хочу различать два цвета. – Ari