当使用tput setaf
和 时tput sgr0
,如果会话不是类似于 tty 的或者未检测到颜色支持,它是否会自动输出任何内容?
那么我这样做可以吗?
declare -r styleRed=$(tput setaf 1)
declare -r styleReset=$(tput sgr0)
或者我需要这么做吗?
if [ -t 1 ] && [ "$(tput colors)" -gt 7 ]; then
declare -r styleRed=$(tput setaf 1)
declare -r styleReset=$(tput sgr0)
else
declare -r styleRed=
declare -r styleReset=
fi