在我的脚本中,我使用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