код:
#test_argv.rb
puts "length: #{ARGV.length} "
ARGV.each do |a|
puts "Argument: #{a}"
end
Если я укажу строку "*.*"
(с кавычками или без) при вызове вышеупомянутого, я получу следующий вывод:
C:\test>test_argv *.*
length: 5
Argument: afile.TXT
Argument: bfile.TXT
Argument: cfile.TXT
Argument: dfile.TXT
Argument: somethingelse.TXT
т.е., список файлов в c: \ test.
Другие значения, такие как "s*.*"
, возвращают что-то elsese.TXT, как и следовало ожидать, если бы вы выполняли файловые операции - но я нет.
Но это ведет себя так, как и ожидалось:
C:\test>test_argv asdf
length: 1
Argument: asdf
Итак, мой вопрос, как я могу создать удобный для пользователя скрипт, который будет принимать "*.*"
(и т. Д.) В качестве параметра командной строки?Кроме того, где это задокументировано / объяснено?
Редактировать: это происходит в Windows и Linux, 1.8.7 и 1.9.2