簡體   English   中英

如何將輸入作為參數重定向到Ruby命令行

[英]How to redirect input to the Ruby command-line as argument

我想使用重定向中的命令行輸入來填充Ruby腳本的ARGV:

ruby myscript.rb < my_cmdline_args.txt

這似乎不起作用。 我的腳本抱怨ARGV為空。

在腳本上,您可以使用ARGF來讀取linux管道,例如:

#!/usr/bin/env ruby
puts ARGF.read

嘗試發送文件或一些輸入,它應該可以工作,您可以

ruby myscript.rb < my_cmdline_args.txt

它將回顯內容或

cat my_cmdline_args.txt | ruby myscript.rb

它將以相同的方式讀取內容

您可以使用xargs做到這一點:

cat my_cmdline_args.txt | xargs ruby myscript.rb

更多信息: http : //unixhelp.ed.ac.uk/CGI/man-cgi?xargs

目前還不清楚您要查找的內容,因為您都在談論使用文件的內容作為參數,以及重定向,即使用文件的內容作為輸入。

但是,我確實相信您想要這樣的東西:

FOR /F %i IN (my_cmdline_args.txt) DO ruby myscript.rb %i

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM