search

Home  >  Q&A  >  body text

Error when executing ruby ​​script

/usr/local/lib/ruby/gems/2.1.0/gems/json-2.1.0/lib/json/common.rb:156:in `parse': 765: unexpected token at 'decode() argument 1 must be string, not None (JSON::ParserError)

Ruby xxx.rb can be executed normally in the terminal, but this error is prompted when the Jenkins page executes the shell. The ruby ​​code is as follows:

#!/usr/bin/env ruby

require 'json'

cmd = "/usr/local/bin/aliyuncli ecs DescribeInstances -- output json --PageSize 50 --RegionId "

RegionIds = ["cn-hangzhou","cn-qingdao","cn-beijing","cn-hongkong","cn-shenzhen"," us-west-1"]

RegionIds.each do |regionid|

data = `#{cmd} #{regionid}`

data = JSON.parse( data)

data["Instances"]["Instance"].each {|instance| print instance["RegionId"]," ",instance["InstanceName"]," ",instance["PublicIpAddress "]["IpAddress"][0]," ",instance["InnerIpAddress"]["IpAddress"][0],"\n"}

#puts data

end


O.A.O.AO.A.O.A2271 days ago1439

reply all(0)I'll reply

No reply
  • Cancelreply