我想打电话外壳的脚本集一大堆的环境变量在我们的服务器从一个善变的挂钩。Shell script被称为现时,一个新的changegroup来,但是环境变量不携带超过过去的呼吁壳脚本。

我hgrc上的文件库看起来是这样的:

[hooks]
changegroup = shell_script
changegroup.env = env

我可以看到输出壳的剧本,然后输出的env命令,但env命令并不包含新的环境变量设定的外壳脚本。

我已经验证了shell script工作现在由本身,但时运行的背景下刺客钩它不适当地设定的环境。

有帮助吗?

解决方案

脚本也不能修改它们的环境。

http://tldp.org/LDP/abs/html/gotchas.html

一个剧本不可能出口的变量回到其父母的过程中,外壳或环境。正如我们学会在生物学中,一个孩子的过程可以继承父母,而不是相反

$ cat > eg.sh 
export FOO="bar";
^D
$ bash eg.sh 
$ echo $FOO; 

$

此外,该问题更大,因为你拥有多个呼吁bash

bash 1 -> hg -> bash 2 ( shell script ) 
             -> bash 3 ( env call )

它会像我以为我可以设置一个变量在一个php script然后奇迹般地得到它的另一个只是通过运行之后。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top