0
例如,我可以这样做:如何在bash命令行中指定两个变量?
ENV=dev ruby script.rb
但我怎么能这样做呢?
USER=aa PASS=bb ruby script.rb
我不能使用此:
export USER=aa
export PASS=bb
ruby script.rb
我必须这样做,在一行
例如,我可以这样做:如何在bash命令行中指定两个变量?
ENV=dev ruby script.rb
但我怎么能这样做呢?
USER=aa PASS=bb ruby script.rb
我不能使用此:
export USER=aa
export PASS=bb
ruby script.rb
我必须这样做,在一行
据我所知,每一个Bourne shell中允许任意数量的name = value对的前一个命令来建立环境。 Bash当然会。
$ foo=foo bar=bar env | grep -E 'foo|bar'
foo=foo
bar=bar
'USER = aa PASS = bb ruby script.rb'按预期工作。你为什么认为它不起作用? – ymonad
PASS在脚本中为空 – Sato
@Sato,尝试'USER = aa PASS = bb env | egrep'USER | PASS'',你会看到'USER'和'PASS'集合。不管你的ruby环境出了什么问题, shell正在做它应该做的事情。 –