【发布时间】:2010-10-29 01:11:09
【问题描述】:
我正在编写一个在命令行上使用 ANSI 颜色字符的 shell 脚本。
示例:example.sh
#!/bin/tcsh
printf "\033[31m Success Color is awesome!\033[0m"
我的问题是:
$ ./example.sh > out
或
$./example.sh | grep
ASCII 代码将与文本一起原始发送出去,弄乱了输出,通常只会造成混乱。
我很想知道是否有办法检测到这一点,以便我可以针对这种特殊情况禁用颜色。
我已经在 tcsh 手册页和网络上搜索了一段时间,但还没有找到任何特定于 shell 的内容。
我不受 tcsh 的约束,这是我们的团体标准……但谁在乎呢?
是否可以在 shell 脚本中检测您的输出是否被重定向或管道传输?
【问题讨论】:
-
我们只是这样做了:stackoverflow.com/questions/911168/…
-
哈哈,当我真正遇到问题时,他问我真是令人毛骨悚然。我刚开始真正问这个问题。
标签: linux unix shell scripting