gpt4 book ai didi

bash - 为什么bash $()设置环境变量?

转载 作者:行者123 更新时间:2023-12-02 18:25:00 24 4
gpt4 key购买 nike

它来自Docker docs-https://docs.docker.com/installation/mac/#install-boot2docker,为什么$()可以设置环境变量

显示Docker客户端的环境变量。

$ boot2docker shellinit

要在您的shell中设置环境变量,请执行以下操作:
$ $(boot2docker shellinit)

我的问题是:为什么 $(boot2docker shellinit)可以设置环境变量?

最佳答案

Why can $(boot2docker shellinit) set environment variables?



查看以下函数(但它可以是命令或脚本):
foo() { echo "export a=b"; }

此命令仅执行以下一项操作:将 export a=b打印到标准输出:
$ foo() { echo "export a=b"; }
$ foo
export a=b

现在, command substitution允许命令的输出替换命令本身。因此,如果您运行 $(foo),则Bash将首先执行 foo,然后使用该命令的输出来构建命令。在我们的例子中,输出是 export a=b,Bash将执行它:
$ declare -p a
bash: declare: a: not found
$ $(foo)
$ declare -p a
declare -x a="b"

关于bash - 为什么bash $()设置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29060066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com