每当我使用
所以我的问题是,有没有可能欺骗一个命令,让它认为该命令是在tty中运行的?
例如,运行
我希望能够写出类似以下的内容:
grep
并将其管道到另一个程序时,--color
选项都不会被执行。 我知道我可以使用--color=always
,但它也会在我想要获得与在tty中获得的相同输出的一些其他命令中出现。所以我的问题是,有没有可能欺骗一个命令,让它认为该命令是在tty中运行的?
例如,运行
grep --color word file # Outputs some colors
grep --color word file | cat # Doesn't output any colors
我希望能够写出类似以下的内容:
我想要实现这样的功能:
IS_TTY=TRUE grep --color word file | cat # Outputs some colors
这个问题似乎有一个可以满足我要求的工具:empty - 在伪终端(PTY)下运行进程和应用程序,但是根据我在文档中所读到的内容,我不确定它是否能够解决我的问题。
--color
会改变发送到管道下游命令的实际数据流吗?这将导致其他合理的代码出现问题,因为searchTarget
不是^[32;4gsearchTarget^[32;h
(或类似的内容)。祝好运。 - shellterag
,the silversearcher,还有 mocha 等等...),而且我没有时间学习所有选项以相同的格式打印它们,每当我将这些命令管道传递给其他命令时。 - edi9999[linux] (or) [bash] --color
吗?祝你好运。 - shellter