BASH stderr 重定向时出现 tput 错误
BASH tput error on stderr redirection
编写应在终端上显示错误并将其保存到 stderr 的函数
die () {
echo "$(tput setaf 1) ERROR: $*. Aborting... $(tput sgr 0)" > &2
exit 1
}
不幸的是,这将生成
syntax error near unexpected token `&'
` echo "$(tput setaf 1) ERROR: $*. Aborting... $(tput sgr 0)" > &2 '
我知道这是因为 tput 但我不明白为什么。
我真的不在乎我的标准错误中有颜色,但我想将它们保留在显示器上。
重定向到 stderr 由 >&2
完成 - 没有空格。
编写应在终端上显示错误并将其保存到 stderr 的函数
die () {
echo "$(tput setaf 1) ERROR: $*. Aborting... $(tput sgr 0)" > &2
exit 1
}
不幸的是,这将生成
syntax error near unexpected token `&'
` echo "$(tput setaf 1) ERROR: $*. Aborting... $(tput sgr 0)" > &2 '
我知道这是因为 tput 但我不明白为什么。
我真的不在乎我的标准错误中有颜色,但我想将它们保留在显示器上。
重定向到 stderr 由 >&2
完成 - 没有空格。