[英]How set multiple env variables for a bash command
我应该在运行命令之前设置 EC2_HOME 和 JAVA_HOME 变量(ec2-describe-regions)
我如何一口气做到这一点?
您可以通过将它们放在命令之前的命令行上一次性设置单个命令的变量:
$ EC2_HOME=/path/to/dir JAVA_HOME=/other/path ec2-describe-regions
或者,您可以将它们导出到环境中,在这种情况下,将为所有未来的命令设置它们:
$ export EC2_HOME=/path/to/dir
$ export JAVA_HOME=/other/path
$ ec2-describe-regions
如果你想在同一个会话中多次使用环境变量,你可以使用:
export VAR1=value1 VAR2=value2 VARN=valueN
如果要在不影响当前 bash 会话的情况下执行具有多个变量的命令,可以使用:
VAR1=value1 VAR2=value2 VARN=valueN command arg=1
与其他 *nix 系统一样,您可以在 HOME 目录下的 .bashrc 文件中添加如下功能。
function startec2(){
export EC2_HOME=/path/to/dir
export JAVA_HOME=/other/path
ec2-describe-regions
}
现在,您可以通过以下命令启动程序:
startec2
利用:
sh -c "VAR1=BLA-BLA VAR2=FOO-BAR && command"
例如:
sh -c "VAR1=BLA-BLA VAR2=FOO-BAR && exec echo $VAR1 $VAR2"
输出:
BLA-BLA FOO-BAR
注意:通过exec
运行命令以在命令完成后终止整个sh
进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.