Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash:是否可以通过计算命令为单个子进程设置环境变量?_Bash_Shell - Fatal编程技术网

Bash:是否可以通过计算命令为单个子进程设置环境变量?

Bash:是否可以通过计算命令为单个子进程设置环境变量?,bash,shell,Bash,Shell,这非常好: $ENV=var printenv ENV=var 这也可以工作,但它为整个shell设置了环境变量: $export$(echo ENV=var) >$printenv ENV=var 我想这样做,但失败了: $$(echo ENV=var)printenv bash:ENV=var:未找到命令 是否有其他方法通过计算命令将环境变量传递给单个子进程?使用env env "$(echo ENV=var)" printenv 或者使用eval,但要知道如何安

这非常好:

$ENV=var printenv
ENV=var
这也可以工作,但它为整个shell设置了环境变量:

$export$(echo ENV=var)
>$printenv
ENV=var
我想这样做,但失败了:

$$(echo ENV=var)printenv
bash:ENV=var:未找到命令
是否有其他方法通过计算命令将环境变量传递给单个子进程?

使用
env

env "$(echo ENV=var)" printenv
或者使用
eval
,但要知道如何安全地使用它

eval "$(echo ENV=var)" printenv 

无论哪种方式,在这两个命令中,您都必须确保输出已清理。

第一个解决方案有什么问题?哦,第一个解决方案只是为了澄清我对单个子进程设置环境变量的意思。我希望能够通过计算命令以编程方式生成它们<代码>$(echo ENV=var)只是一个例子。