1

Я почти уверен, что делаю что-то не так при написании сценария bash. Благодаря другим я смог использовать echo для выделения текста жирным шрифтом... но с тех пор все становится жирным. Как отключить echo -e "\e[1mFOO" чтобы будущие команды echo print read etc больше не выделялись жирным шрифтом?

Я прошу прощения, если на этот вопрос уже отвечали, используя те же ключевые слова, просто показал мне все вопросы / руководства о том, как сделать текст жирным, но ни один из них не показал, как вернуть его в нормальное состояние.

Вот пример на случай, если мне неясно, о чем я спрашиваю

Входные данные:

#!/bin/bash
echo "This is normal"
echo -e "\e[1mThis is bold"
echo "Even though there is no '-e' operator, this is still bold but I want it normal"

Выход:

Это нормально

Это жирный

Несмотря на то, что нет оператора '-e', он все еще жирный, но я хочу вернуть его в нормальное состояние

Большое спасибо!

1 ответ1

1

Вы должны сбросить консоль на обычный вывод текста после того, как вы изменили его на жирный:

#!/bin/bash
echo "This is normal"
echo -e "\e[1mThis is bold"
tput sgr0 #Reset text attributes to normal without clear.
echo "This" #NORMAL

Если tput не работает в вашей среде, вы также можете вернуть цветовой код в нормальное состояние:

#!/bin/bash
echo "This is normal"
echo -e "\e[1mThis is bold"
echo -e "\e[0mThis is normal again"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .