2015-07-16 2 views
0

Я хотел бы, чтобы заполнить ARGV скрипт, рубин с входом из командной строки с помощью перенаправления:Как перенаправить ввод в Рубиновое командной строки в качестве аргумента

ruby myscript.rb < my_cmdline_args.txt 

Это не похоже на работу. В моем сценарии жалуется, что ARGV пуст.

+1

Это не имеет ничего общего с Ruby. Выяснение того, как вызвать программу, даже не является вопросом программирования, вызов программы - это просто обычное использование операционной системы/оболочки, и поэтому ее следует задавать на [SuperUser] (http://superuser.com/). –

+0

Какая ОС вы используете? –

+0

@theTinMan: вопрос помечен тегом [tag: cmd], оболочкой по умолчанию OS/2, Windows CE и Windows NT, поэтому мы можем с уверенностью предположить, что это один из трех (хотя на самом деле это не имеет значения, поскольку подстановка команд особенность оболочки, а не ОС). –

ответ

1

На вашем скрипте вы можете использовать ФГДД для чтения из линуксовых труб, как:

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

попробуйте отправить файл или несколько входных и он должен работать, вы можете сделать

ruby myscript.rb < my_cmdline_args.txt 

и это эхо содержание или

cat my_cmdline_args.txt | ruby myscript.rb 

и он будет читать содержимое таким же образом

0

Это действительно непонятно, что вы ищете, так как вы оба говорите об использовании содержимого файла в качестве аргументов, а также перенаправление, то есть использование содержимого файла в качестве входного.

Однако, я считаю, что-то вроде этого является то, что вы хотите:

FOR /F %i IN (my_cmdline_args.txt) DO ruby myscript.rb %i 
Смежные вопросы