如何将参数传递给ruby命令行脚本
发布时间:2020-12-17 02:56:05 所属栏目:百科 来源:网络整理
导读:我通过STDIN将脚本传递给 ruby.例如., $ruby EE puts "args: #{ARGV}" EEargs: []$ruby EE puts "args: #{ARGV}" EE 'arg1' 'arg2' EE-:2: syntax error,unexpected tSTRING_BEG,expecting keyword_do or '{' or '('EE 'arg1' 'arg2' ^$ruby 'arg1' 'arg2' E
我通过STDIN将脚本传递给
ruby.例如.,
$ruby << EE > puts "args: #{ARGV}" > EE args: [] $ruby << EE > puts "args: #{ARGV}" > EE 'arg1' 'arg2' > EE -:2: syntax error,unexpected tSTRING_BEG,expecting keyword_do or '{' or '(' EE 'arg1' 'arg2' ^ $ruby 'arg1' 'arg2' << EE > puts "args: #{ARGV}" > EE ruby: No such file or directory -- arg1 (LoadError) $ruby -- 'arg1' 'arg2' << EE > puts "args: #{ARGV}" > EE ruby: No such file or directory -- arg1 (LoadError) $ruby -e << EE > puts "args: #{ARGV}" > EE ruby: no code specified for -e (RuntimeError) $ 我不知道在这种情况下如何传递参数. -e选项不会获取传递给STDIN的内容.根据man page,语法是: ruby ... [--] [prog_file] [args] 但是我的prog_file在STDIN上. 解决方法
像许多其他Unix实用程序一样,ruby识别 – 作为STDIN的特殊文件名:
$echo "p ARGV" | ruby - foo bar ["foo","bar"] 要么: $ruby - foo bar << EE > p ARGV > EE ["foo","bar"] 或:(按controlD结束输入) $ruby - foo bar p ARGV ["foo","bar"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |