Как сделать команду bash эхо-строк зелёным
У меня есть скрипт bash с включенной командой echo (set -x). Я хочу, чтобы линии эха были напечатаны зеленым текстом, но вывод фактических команд должен быть любого цвета по умолчанию. Я могу использовать $PS4, чтобы получить зеленый, но я не вижу способа выключить его после каждого эха, так что в результате все выходные данные становятся зелеными.
1 ответ
Решение
Попробуй это:
#!/bin/bash
exec 3<> >(sed -e "s/.*/\o033[0;32m&\o033[0m/")
BASH_XTRACEFD=3
set -x
...
(я думаю, что требуется bash 4.1; используйте встроенные команды awk, perl или bash вместо sed, если хотите)