在bash脚本中,如何判断脚本输出是否重定向到文件?

Era*_*tan 6 linux bash

我想编写一个shell脚本,当输出是终端时将使用彩色输出,并在重定向到文件时使用正常输出.我怎样才能做到这一点?

nne*_*neo 9

非常简单:

if [ -t 1 ]; then
    echo "Hello, terminal."
else
    echo "Not a terminal."
fi
Run Code Online (Sandbox Code Playgroud)

-t 测试给定的文件描述符(此处为1 = stdout)是否附加到终端.