作者:zhenhuaYang | 来源:互联网 | 2023-02-04 18:46
我的问题类似于这个问题:如何检测我的shell脚本是否通过管道运行?.不同之处在于我正在处理的脚本是用Ruby编写的.
比方说我跑:
./test.rb
我希望stdout上的文字有颜色,但是
./test.rb | cat
我希望剥离颜色代码.
1> ddubs..:
$stdout.isatty
习惯使用或更多$stdout.tty?
.我创建了一个小的test.rb文件来演示,内容:
puts $stdout.isatty
结果:
$ ruby test.rb
true
$ ruby test.rb | cat
false
参考:https://ruby-doc.org/core/IO.html#method-i-isatty
或更多惯用语:`$ stdout.tty?`