2017-03-02 64 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