繁体   English   中英

如何为 bash 命令设置多个环境变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM