Используя bash, вы можете выделить все слово «FAIL» красным, используя следующие команды:
txtred=$(echo -e '\e[0;31m') txtrst=$(echo -e '\e[0m') bash | sed -e "s/FAIL/$FAIL$/g"
Он создает новую оболочку bash и редактирует стандартный вывод этой новой оболочки с помощью sed
. Если вы хотите завершить выпуск stdout, просто введите, exit
чтобы вернуться к предыдущей оболочке. Вы можете найти больше цветовых команд здесь . echo -e
Изменение необходимо, чтобы получить реальное значение побега \e
.
Я попробовал это с echo
и cat
в этой оболочке, и это работает. Тем не менее, это нарушает программы, ожидающие терминала, как их вывод, как vi
. Я предполагаю, что это также сломало бы программы, использующие специальную буферизацию вывода. Это также нарушает команды like echo -n FAIL
и меняет поведение команд like ls
(ls печатает много файлов на строку, когда вывод является терминалом, и один файл на строку, когда вывод является конвейером).