我想編寫一個腳本,將IP地址從一個主機文件,以及用戶名信息從一個配置文件。我顯然沒有把文件名作爲正確的散列值。什麼是從文件輸入選項的正確方法? | Ruby腳本
我應該我File.new(options[:config_file], 'r').each { |params| puts params }
可以打電話?我試過了目前的設置,並且
File.new(config_file, 'r').each { |params| puts params }
以及File.new(:config_file, 'r').each { |params| puts params }
沒有運氣。
我應該做不同的東西放在一起?像load(filename = nil)
?
options = {}
opt_parser = OptionParser.new do |opt|
opt.banner = 'Usage: opt_parser COMMAND [OPTIONS]'
opt.on('--host_file','I need hosts, put them here') do |host_file|
options[:host_file] = host_file
end
opt.on('--config_file', 'I need config info, put it here') do |config_file|
options[:config_file] = config_file
end
opt.on('-h', '--help', 'What your looking at') do |help|
options[:help] = help
puts opt
end
end
opt_parser.parse!
if options[:config_file]
File.new(options[:config_file], 'r').each { |params| puts params }
end
if options[:host_file]
File.new(options[:host_file], 'r').each { |host| puts host }
end
你的文件格式是什麼?我會直接與YAML或CSV聯繫,如此做法。 YAML給你散列。從CSV你可以得到一個散列。 –
現在只是標準的txt文件,但我打開選項。主機文件只是IP地址(或主機名),每行一個。配置文件是username = un,password = pw,每行一個。我不喜歡以明文形式存儲密碼,但我不確定我在這方面還能做什麼。 –
看看這個。 http://stackoverflow.com/questions/6012930/read-lines-of-a-file-in-ruby –