设置Mercurial H的环境变量

2024-09-30 05:26:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从mercurial钩子调用一个shell脚本来设置服务器上的一堆环境变量。当一个新的changegroup出现时,shell脚本被调用得很好,但是环境变量不会在调用shell脚本之后被传递。在

我在仓库的hgrc文件如下:

[hooks]
changegroup = shell_script
changegroup.env = env

我可以看到shell脚本的输出,然后看到env命令的输出,但是env命令不包括shell脚本设置的新环境变量。在

我已经验证了shell脚本在单独运行时可以正常工作,但是当在mercurial钩子的上下文中运行时,它没有正确设置环境。在


Tags: 文件命令服务器env脚本环境环境变量script
1条回答
网友
1楼 · 发布于 2024-09-30 05:26:45

Shell脚本无法修改其环境。在

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

A script may not export variables back to its parent process, the shell, or to the environment. Just as we learned in biology, a child process can inherit from a parent, but not vice versa

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

$

另外,问题更大,因为您有多个bash调用

^{pr2}$

这就像在想我可以在一个php脚本中设置一个变量,然后通过一个接一个地运行另一个脚本神奇地获得它。在

相关问题 更多 >

    热门问题