に格納されている:カールコマンドは、印刷の代わりに、私はこの単純なRubyスクリプトを実行すると、Rubyの
a = `curl localhost`
puts "Result is: #{a}"
=> % Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed
=> 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 80: Connection refused
=> Result is:
は、コマンドが実行されたときに結果が印刷されていることを参照してください、と変数が空です。
a = `ls`
puts "Result is: #{a}"
=> Result is: test.rb
がどのように変数に最初のカールコマンドの結果を保存することができます:私は、同じ形式で他のコマンドを実行した場合しかし、それは私が期待するように動作しますか? man curl
から
ありがとうございます。あなたが提供した情報に基づいて、 '' a = 'curl localhost 2>&1'''をテストしました。これは、ファイルから読み込むことなく期待通りに動作します。これをあなたの答えに加えることができますので、私はそれを受け入れることができます – Scotty
更新されました。私はそれを感謝しました。 –
'curl -s localhost'はプログレスメーターを無音にし、stdoutの応答本体をうまく与えます。リダイレクトの必要はありません。また、 'open-uri'を要求します。 a = open( 'http:// localhost'){| f | f.read} 'は純粋なRubyに相当します。 – Amadan