문제

내가 노력하고 전화하는 쉘 스크립트를 설정하는 무리의 환경 변수에 우리의 서버에서 mercurial 후크.쉘 스크립트라면 새로운 changegroup 제공하지만,환경변수 운반되지 않을 통해 과거를 호출하는 쉘 스크립트입니다.

내 hgrc 파일에 저장소 다음과 같습니다:

[hooks]
changegroup = shell_script
changegroup.env = env

I 출력을 볼 수 있는 쉘 스크립트의 출력이 다음은 환경을 명령하지만,env 명령을 포함하지 않는 새로운 환경변수를 설정 쉘 스크립트입니다.

내가 있는지 확인 쉘 스크립트는 작동할 때 자체적으로 실행되지만 실행하는 경우의 컨텍스트에서 새로 연결지 않을 제대로 설정합니다.

도움이 되었습니까?

해결책

쉘 스크립트를 수정할 수 없습니다 그들의 환경.

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 스크립트는 다음 마술은 그것을 얻을 다른 단순히 실행하여합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top