질문
배쉬에서는shell_variable=값 bash child_command만들다쉘 변수환경 변수하위 명령.
이것은 쉘 변수를 하위 프로세스의 환경 변수로 승격시키기 위한 내장 쉘(sh 및 bash) 기능입니까? env 명령과 유사합니까?
이를 설명하는 문서를 찾으려고 했지만 아직 찾지 못했습니다. 참고자료를 제공해 주시면 정말 감사하겠습니다.
돼지.sh
env | grep BUILD_ID
실시예 1
BUILD_ID=hoge
bash hoge.sh
[result] (none displayed)
실시예 2
BUILD_ID=hoge bash hoge.sh
[Result]
BUILD_ID=hoge
실시예 3
env BUILD_ID=hogehoge bash hoge.sh
[Result]
BUILD_ID=hogehoge
인용하다
답변1
POSIX: 부분2.9.1 간단한 명령
...변수 할당은 명령의 실행 환경으로 내보내야 하며 현재 실행 환경에 영향을 주어서는 안 됩니다...
또한 여러 쉘 매뉴얼("간단한 명령" 검색)
예
변수는 현재 실행 환경에 영향을 주어서는 안 됩니다.
$ var=33; var=11 echo "$var"; echo "$var"
33
33
변수 할당을 실행 환경으로 내보내야 합니다.
$ var=33; var=11 sh -c 'echo "$var"'; echo "$var"
11
33