在我的腳本中,我使用ARGV流獲取命令行參數。有一段代碼:ARGV循環跳過Ruby中的語句
ARGV.each do|a|
item = JSON.parse(%x{curl -X GET https://puppetdb.ai:8081/pdb/query/v4/facts/#{a} --tlsv1 --interface x.x.x.x --cacert certificate.pem --cert certificate-pem.cer --key certificate-privkey.pem})
item.each do |h|
arr << {"name" => h['certname'], "#{a}" => h['value'], "environment" => h['environment']}
end
end
使用curl我使用puppetdb API獲取了一些數據。這一切工作正常,埠我想添加一些if語句來打印腳本的幫助。它看起來像這樣:
ARGV.each do|a|
if (a == "help")
puts "this is help 4 U"
else
item = JSON.parse(%x{curl -X GET https://puppetdb.ai:8081/pdb/query/v4/facts/#{a} --tlsv1 --interface x.x.x.x --cacert certificate.pem --cert certificate-pem.cer --key certificate-privkey.pem})
item.each do |h|
arr << {"name" => h['certname'], "#{a}" => h['value'], "environment" => h['environment']}
end
end
end
但腳本忽略「幫助」,並填寫「幫助」參數捲曲。你能幫助我嗎?
'紅寶石a.rb幫助'爲我工作,打印'「這是幫助4 U」'字符串,並立即退出。 _Sidenote:_'ARGV'不是一個流。 – mudasobwa
'ARGV'是一個數組,'ARGF'是數據流。 – Stefan
檢查你是否因某些原因有一些空白。 – ndn