在Bash中使用变量赋值的动态列表调用命令

像这样定义几个变量:

VARS="VAR1=1 VAR2=2"

然后我想将这些变量提供给后面的命令。我可以这样做:

VAR1=1 VAR2=2 mycommand

这工作正常,但我希望动态设置这些局部作用域变量,例如:

$ $VARS mycommand
VAR1=1: command not found

这似乎$VARS作为命令执行,这不是预期的。

回答

只需使用env.

envvars=(VAR1=1 VAR2=2)
env "${envvars[@]}" mycommand


以上是在Bash中使用变量赋值的动态列表调用命令的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>