У меня есть следующие функции:Bash: Цветной выход с переменным
function pause #for prompted pause until ENTER
{
prompt="$3"
echo -e -n "\E[36m$3" #color output text cyan
echo -e -n '\E[0m' #ends colored output
read -p "$*" #read keys from user until ENTER.
clear
}
pause "Press enter to continue..."
Однако моя функция отказывается применять голубую цвет в строку я передаю в функцию.
Аналогичный вопрос был задан вопрос here, но мне кажется, что я делаю все правильно ...
Цитирование '$ *' приводит к тому, что результат рассматривается как одна строка. В команде 'read' OP все аргументы, переданные функции, выводились как приглашение. В этом нет ничего особенного. Однако ваша точка 1, по сути, правильна, чтобы соответствовать тому, что, по-видимому, делает OP, она должна быть '$ @' вместо '$ 3' (или' $ 1'). Нет ничего плохого в последовательности ANSI OP - это работает для меня. –
Нет ничего плохого в 'read -p" something "' – dschulz
Даже с 'read -p '$ *" ' – dschulz