grep和ls等许多shell工具都可以在终端上打印彩色文本。当输出被重定向到一个常规文件时,代表颜色的转义序列被删除,只有纯文本被写入文件。如何做到这一点?

最佳答案

使用:

if [ -t 1 ]

测试stdout是否连接到终端。如果是,则打印转义序列,否则仅打印纯文本。

关于bash - 重定向时自动删除转义序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22523459/

10-09 15:41