код:
#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*.*"
, возвращают что-то еще.TXT, как и следовало ожидать, если вы выполняли операции с файлами, но я этого не делаю.
Но это ведет себя так, как и следовало ожидать:
C:\test>test_argv asdf
length: 1
Argument: asdf
Итак, мой вопрос: как я могу создать удобный скрипт, который будет принимать "*.*"
(и т. д.) в качестве параметра командной строки? Кроме того, где это задокументировано/объяснено?
Изменить: это происходит в Windows и Linux, 1.8.7 и 1.9.2.