从dos批处理文件向ruby脚本传递dos变量
可能重复:从dos批处理文件向ruby脚本传递dos变量,ruby,batch-file,dos,Ruby,Batch File,Dos,可能重复: 我试图将主机名作为参数传递到ruby脚本中。这可能吗?这是我认为应该起作用的,但事实并非如此 %h% = HOSTNAME ECHO %h% ruby this.rb %h% pause ruby代码是 val = ARGV[0] puts "Value is #{val}" 您可以在DOS中设置环境变量,并从Ruby脚本访问它。可能是这样的: set h = HOSTNAME ECHO %h% ruby this.rb pause Ruby代码: val = ENV[
我试图将主机名作为参数传递到ruby脚本中。这可能吗?这是我认为应该起作用的,但事实并非如此
%h% = HOSTNAME
ECHO %h%
ruby this.rb %h%
pause
ruby代码是
val = ARGV[0]
puts "Value is #{val}"
您可以在DOS中设置环境变量,并从Ruby脚本访问它。可能是这样的:
set h = HOSTNAME
ECHO %h%
ruby this.rb
pause
Ruby代码:
val = ENV["h"]
puts "Value is #{val}"
我相信你不必把
%
符号放进去。@Eitan,不,这不是重复的。@MurifoX。如果你不加%符号,ruby puts会返回“Value is h”@Andrew Ok,那么你会得到什么输出?如果您改为使用ruby this.rb“something”呢?ruby脚本会打印“Value is something”吗?ruby无法通过ENV访问它?我试图避免这种情况。出现问题的实际脚本是:ruby replace_text.rb myfile.csv A_Computer_Name HOSTNAME