2012-08-01 89 views
0

可能重复:
Pass variables to ruby script via command line从DOS批处理文件传递一个DOS变量Ruby脚本

我试图通过主机名作为参数传入Ruby脚本。这可能吗?这是我认为应该工作,但它不。

%h% = HOSTNAME 
ECHO %h% 

ruby this.rb %h% 
pause 

而且Ruby代码是

val = ARGV[0] 

puts "Value is #{val}" 
+0

我相信你没有把''%迹象。 – MurifoX 2012-08-01 12:45:12

+0

@Eitan,不,它不是重复的。 – Andrew 2012-08-01 12:48:29

+0

@MurifoX。如果你不把%符号放在红宝石的返回值“Value is h” – Andrew 2012-08-01 12:50:54

回答

0

你可以从你的Ruby脚本设置在DOS环境变量和访问它。这将是这样的:

set h = HOSTNAME 
ECHO %h% 

ruby this.rb 
pause 

Ruby代码:

val = ENV["h"] 

puts "Value is #{val}" 
+0

我试图避免这种情况。有问题的实际脚本是:ruby replace_text.rb myfile.csv A_Computer_Name HOSTNAME – Andrew 2012-08-01 13:09:06