我想尝试终端和彩色输出,但同时我想让stdout/stderr重定向到文件成为可能,而不必处理这些转义序列。
有没有任何方法可以从shell脚本中检查stderr
是否连接到终端?
标准错误stderr的文件描述符是2。test
或[
命令(通常是内置的shell)有一个选项-t
,用于测试文件描述符是否连接到终端:
if [ -t 2 ]
then : stderr is a terminal
else : stderr is not a terminal
fi