我需要检查Ruby脚本中是否存在STDIN输入,例如mysql命令可以。如果没有任何内容指向STDIN,则脚本不应尝试读取STDIN。

如何以跨平台的方式做到这一点?

最佳答案

这是在Linux中完成的很多工作:

#!/usr/bin/env ruby

str = (STDIN.tty?) ? 'not reading from stdin' : $stdin.read
puts str

>> $ ruby test.rb
>> not reading from stdin
>> $ echo "reading from stdin" | ruby test.rb
>> reading from stdin

关于ruby - 如何在Ruby脚本中检查STDIN输入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4622046/

10-15 04:07