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

时间:2012-03-25 20:00:37

标签: bash shell

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

有没有办法检查stderr是否从shell脚本中连接到终端?

1 个答案:

答案 0 :(得分:11)

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

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