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