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

标签 linux bash

我想编写一个 shell 脚本,在终端输出时使用彩色输出,在重定向到文件时使用正常输出。我该怎么做?

最佳答案

非常简单:

if [ -t 1 ]; then
    echo "Hello, terminal."
else
    echo "Not a terminal."
fi

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

关于linux - 在 bash 脚本中,如何判断脚本输出是否重定向到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316161/

相关文章:

linux - 使用 [! -d "$DIR"]

bash - 如何在 bash 中找到指向符号链接(symbolic link)的符号链接(symbolic link)

linux - shell脚本单独列出目录中的文件名并重命名

linux - 将命令粘贴到不同的行号文件

linux - sed 删除不同行上两个字符串之间的字符

bash - ${v^^} 和 ${v@U} 的区别?

java - 从 Java 应用调用 Cygwin

linux - Grep .html 语法

linux - gdb 使用什么机制来知道 "finish"函数调用的位置?

linux - 使用linux删除文件