env VAR=VAL 명령 또는 VAR=VAL 명령

env VAR=VAL 명령 또는 VAR=VAL 명령

둘 사이의 실제 차이점은 무엇입니까?

env VARIABLE=VALUE command

그리고

VARIABLE=VALUE command

bash 호환 쉘에서?

참고: 제가 직접 몇 가지 테스트를 해봤는데 아무런 차이가 없습니다.

편집: 예는 다음과 같습니다

EDITOR=nano visudo

그리고

env EDITOR=nano visudo

답변1

외부 명령의 결과는 크게 다르지 않습니다. 실행에는 쉘이 수행하는 env추가 변수 할당 구문 분석만 포함됩니다 . 쉘에서는 그렇게 간단하지 않은 환경을 정리하므로 더 유용할 것입니다.execenv -i

두 경우 모두 명령 대체와 같은 확장은 VAR=$(somecmd)할당이 발생하기 전에 쉘에 의해 실행되며 두 경우 모두 마찬가지입니다 PATH. 내가 생각할 수 있는 유일한 차이점은 _그 가치입니다.Bash는 실행하는 명령의 이름으로 설정됩니다.( env하지만). 물론 그렇지 않은 경우 env셸에 내장된 명령 버전을 실행할 수도 있습니다.

관련 정보