2017-03-02 91 views
0

例如,我可以这样做:如何在bash命令行中指定两个变量?

ENV=dev ruby script.rb 

但我怎么能这样做呢?

USER=aa PASS=bb ruby script.rb 

我不能使用此:

export USER=aa 
export PASS=bb 
ruby script.rb 

我必须这样做,在一行

+3

'USER = aa PASS = bb ruby​​ script.rb'按预期工作。你为什么认为它不起作用? – ymonad

+0

PASS在脚本中为空 – Sato

+0

@Sato,尝试'USER = aa PASS = bb env | egrep'USER | PASS'',你会看到'USER'和'PASS'集合。不管你的ruby环境出了什么问题, shell正在做它应该做的事情。 –

回答

0

据我所知,每一个Bourne shell中允许任意数量的name = value对的前一个命令来建立环境。 Bash当然会。

$ foo=foo bar=bar env | grep -E 'foo|bar' 
foo=foo 
bar=bar