coreutils 매뉴얼에는 env
명령 에 대해 나와 있습니다.
env [option]... [name=value]... [command [args]...]
환경 지정 후에 명령 이름을 지정하지 않으면 결과 환경이 인쇄됩니다. 이는 printenv 프로그램을 지정하는 것과 같습니다.
값이 ? 에 따라 달라진다 는 점에서 인쇄 환경에 env
따라 다릅니다 . 예를 들어,env
_
env
$ env | grep '^_'
_=/usr/bin/env
env
환경 변수의 값이 _
특정 값으로 수정되는 경우를 제외하고 현재 쉘의 내보낸 거의 모든 환경을 인쇄 합니다 env
.
그러면 env
현재 쉘의 환경을 출력하지만 내부적으로 수신된 환경을 출력 합니까 env
?
감사해요.
답변1
env는 대부분의 쉘에서 별도의 프로그램이므로 쉘에서 받은 환경을 인쇄합니다.
Bourne Shell은 쉘 변수를 기반으로 하는 환경 관리 시스템을 사용합니다.
시작 시 환경을 쉘 변수 목록으로 가져옵니다.
쉘 변수를 생성하거나 수정해도 쉘이 새 프로그램에 대해 설정하는 환경은 수정되지 않습니다.
전화
set
인쇄내부 쉘 변수set
쉘에 내장된 것처럼전화
env
인쇄수출환경env
외부 명령과 동일
쉘 변수 _
는 ksh88
. 마지막 명령을 유지합니다.