Linux 如何在bash命令行上指定两个变量?

Linux 如何在bash命令行上指定两个变量?,linux,bash,shell,Linux,Bash,Shell,例如,我可以这样做: 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对来建立环境。巴什当然是这样 $ foo=foo bar=bar env | grep -E 'foo|bar' foo=foo bar=bar US

例如,我可以这样做:

 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对来建立环境。巴什当然是这样

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

USER=aa PASS=bb ruby script.rb
按预期工作。为什么你认为它不起作用?通行证是空的script@Sato,尝试
USER=aa PASS=bb env | egrep'USER | PASS'
,您将看到
USER
PASS
设置。在ruby环境中发生的任何错误都是错误的;shell正在做它应该做的事情。如果你不想演示,请提供一个完整的演示器,有人可以复制并粘贴到问题本身中。