如何从脚本中检测stderr是否连接到终端



我想尝试终端和彩色输出,但同时我想让stdout/stderr重定向到文件成为可能,而不必处理这些转义序列。

有没有任何方法可以从shell脚本中检查stderr是否连接到终端?

标准错误stderr的文件描述符是2。test[命令(通常是内置的shell)有一个选项-t,用于测试文件描述符是否连接到终端:

if [ -t 2 ]
then : stderr is a terminal
else : stderr is not a terminal
fi

最新更新