UNIX 내보내기 명령 [닫힘]


158

export명령 사용을 이해하려고합니다 .

을 사용하려고 시도했지만 man export이 명령에 대한 매뉴얼이 없습니다.

누구든지 export유닉스에서 의 사용법을 이해하도록 도와 줄 수 있습니까 ?


맨 페이지가 없다는 것이 매우 이상합니다. 나도 하나도 보이지 않습니다.
피노키오

답변:


226

프로그램을 실행할 때 자식 프로그램은 부모로부터 환경 변수를 상속합니다. 예를 들어 부모에서 $HOME로 설정된 경우 /root자식 $HOME변수도로 설정됩니다 /root.

이것은 내보내기로 표시된 환경 변수에만 적용됩니다. 명령 행에서 변수를 다음과 같이 설정하면

$ FOO="bar"

해당 변수는 자식 프로세스에서 보이지 않습니다. 수출하지 않는 한 :

$ export FOO

이 두 문장을 bash에서 하나의 문장으로 결합 할 수 있습니다 (그러나 구식 sh에서는 아닙니다).

$ export FOO="bar"

다음은 내 보낸 변수와 내 보내지 않은 변수의 차이점을 보여주는 간단한 예입니다. 무슨 일이 일어나고 있는지 이해하려면 sh -c부모 셸 환경을 상속하는 자식 셸 프로세스를 만듭니다.

$ FOO=bar
$ sh -c 'echo $FOO'

$ export FOO
$ sh -c 'echo $FOO'
bar

참고 : 쉘 내장 명령에 대한 도움말을 보려면을 사용하십시오 help export. 셸 내장은 같은 독립 실행 파일이 아닌 셸의 일부인 명령입니다 /bin/ls.


16

유닉스

env, set 및 printenv 명령은 모든 환경 변수와 해당 값을 표시합니다. env 및 set은 환경 변수를 설정하는 데에도 사용되며 종종 쉘에 직접 통합됩니다. printenv를 사용하여 해당 변수 이름을 명령의 유일한 인수로 제공하여 단일 변수를 인쇄 할 수도 있습니다.

유닉스에서는 다음 명령을 사용할 수도 있지만 종종 특정 쉘에 의존합니다.

export VARIABLE=value  # for Bourne, bash, and related shells
setenv VARIABLE value  # for csh and related shells

당신은 한 번 봐 가질 수 시를


4
StackOverflow에 오신 것을 환영합니다. 클래식 Bourne 쉘은 VARIABLE=value; export VARIABLE한 번에 할당하고 내보내는 대신 다음을 요구합니다 . setC 쉘 의 명령은 환경 변수가 아닌 쉘 변수를위한 것입니다. setenv의 대응입니다 export. setBourne 파생 쉘 의 명령은 내 보낸 (환경) 변수뿐만 아니라 모든 변수를 인쇄합니다. 역사적으로, env명령은 내장 (built-in)이 아닌 쉘 (shell)과 분리되어 있지만, 쉽게 내장 (built-in)으로 만들 수 있습니다. 특정 명령에 대한 환경을 설정합니다 (명령을 실행하는 쉘이 아님).
Jonathan Leffler


0

export환경 변수를 설정하는 데 사용됩니다. 예를 들면 다음과 같습니다.

export EDITOR=pico

기본 텍스트 편집기를 pico명령 으로 설정합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.