2012-08-01 83 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