I often use something like
read -e -p "> All good ? (y/n)" -n 1 confirm; to ask a confirm to the user.
I'm looking for a way to colorize the output, as the command
echo -e does :
echo -e "\033[31m"; echo "Foobar"; // will be displayed in red echo -e "\033[00m";
I'm using xterm.
man echo, it says :
-e enable interpretation of backslash escapes
Is there a way to do the same thing with the
read command ? (nothing in the man page :(
-r option doesn't work)
read won't process any special escapes in the argument to
-p, so you need to specify them literally.
bash's ANSI-quoted strings are useful for this:
read -p $'\e[31mFoobar\e[0m: ' foo
You should also be able to type a literal escape character with Control-v Escape, which will show up as
^[ in the terminal:
read -p '^[[31mFoobar^[[0m: ' foo