아래에서는 예상했던 잘못된 명령을 실행했지만 var=3 date
그렇지 않습니다.
$ var=3 date
Sun May 26 17:10:22 UTC 2019
$ echo $?
0
그러나 변수에는 값이 할당되지 않습니다 3
.
$ echo $var
$
나는 원래 이것이 var=3
유효한 명령이 아니라고 생각했습니다. 내가 무엇을 놓치고 있나요?
답변1
bash 쉘 자체 환경(호출/상위 프로세스)이 아닌 date 명령 환경에서 환경 변수로 var를 3으로 설정합니다.
참고로 Bash 매뉴얼을 참조하세요:https://www.gnu.org/software/bash/manual/html_node/Environment.html
구체적으로:
The environment for any simple command or function may be augmented temporarily by prefixing it with parameter assignments, as described in Shell Parameters. These assignment statements affect only the environment seen by that command.