2011-01-07 16 views
16

mysqlコマンドのように、RubyスクリプトでSTDIN入力の有無を確認する必要があります。 STDINに何も指示されていない場合、スクリプトはSTDINを読み取ろうとすべきではありません。RubyスクリプトでSTDIN入力を確認する方法はありますか?

これはどのようにプラットフォーム間で行うことができますか?

答えて

23

これは、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 
関連する問題