질문

질문

질문

배쉬에서는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

관련 정보