我需要在 Ruby 脚本中检查 STDIN 输入是否存在,就像 mysql
命令一样。如果没有任何输入被定向到 STDIN,则脚本不应尝试读取 STDIN。
如何以跨平台的方式实现这一点?
我需要在 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
STDIN
和$stdin
? - Danny Kopping