我想使用重定向从命令行填充Ruby脚本的ARGV:
ruby myscript.rb < my_cmdline_args.txt
这似乎不起作用。我的脚本抱怨ARGV是空的。
答案 0 :(得分:1)
在您的脚本上,您可以使用ARGF从linux管道读取,例如:
#!/usr/bin/env ruby
puts ARGF.read
尝试发送文件或一些输入,它应该可以工作,你可以
ruby myscript.rb < my_cmdline_args.txt
它将回显内容或
cat my_cmdline_args.txt | ruby myscript.rb
它将以相同的方式读取内容
答案 1 :(得分:1)
您可以使用xargs
:
cat my_cmdline_args.txt | xargs ruby myscript.rb
答案 2 :(得分:0)
目前还不清楚你在寻找什么,因为你们都在谈论使用文件的内容作为参数,以及重定向,即使用文件的内容作为输入。
但是,我确实认为这样的事情是你想要的:
FOR /F %i IN (my_cmdline_args.txt) DO ruby myscript.rb %i