[fix] utils/lib.sh: in a pipe, do not print ASCII escape code

In 2a12637 an ASCII escape code was added, such escape codes should not be
written to pipes (when the output is not a terminal).

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2021-06-28 09:06:06 +02:00
parent 7e8d1f9935
commit 73fc6499d8
1 changed files with 11 additions and 2 deletions

View File

@ -78,9 +78,18 @@ required_commands() {
# shellcheck disable=SC2034 # shellcheck disable=SC2034
set_terminal_colors() { set_terminal_colors() {
_colors=8 # https://en.wikipedia.org/wiki/ANSI_escape_code
# CSI (Control Sequence Introducer) sequences
_show_cursor='\e[?25h'
_hide_cursor='\e[?25l'
# SGR (Select Graphic Rendition) parameters
_creset='\e[0m' # reset all attributes _creset='\e[0m' # reset all attributes
# original specification only had 8 colors
_colors=8
_Black='\e[0;30m' _Black='\e[0;30m'
_White='\e[1;37m' _White='\e[1;37m'
_Red='\e[0;31m' _Red='\e[0;31m'
@ -271,7 +280,7 @@ prefix_stdout () {
echo -e "${prefix}$line" echo -e "${prefix}$line"
done) done)
# some piped commands hide the cursor, show cursory when the stream ends # some piped commands hide the cursor, show cursory when the stream ends
echo -en "\e[?25h" echo -en "$_show_cursor"
} }
append_line() { append_line() {