.bashrc
에서 변수를 설정할 때 이것을 사용해야합니까?
export VAR=value
아니면 이것으로 충분할까요?
VAR=value
차이점은 정확히 무엇입니까 (있는 경우)?
export VAR=value
하기
VAR=value
스크립트 기간 동안 만 변수를 설정합니다 (이 경우 .bashrc
). 스크립트의 하위 프로세스 (있는 경우)에는 VAR이 정의되어 있지 않으며 스크립트가 종료되면 VAR
이 사라집니다.
export VAR=value
자식 프로세스에 전달되는 변수 목록에 VAR
을 명시 적으로 추가합니다. 시도해 보시겠습니까? 셸을 열고
PS1="foo > "
bash --norc
새 셸은 기본 프롬프트를 가져옵니다. 대신에 다음과 같은 작업을 수행하면
export PS1="foo > "
bash --norc
새로운 쉘은 방금 설정 한 프롬프트를 가져옵니다.
업데이트 : Ian Kelling이 .bashrc
에 설정된 변수 아래에 설명 된대로 .bashrc
를 제공 한 셸에서 유지됩니다. 보다 일반적으로 셸이 스크립트 (source scriptname
명령을 사용하여)를 소싱 할 때마다 스크립트에 설정된 변수가 셸의 수명 동안 지속됩니다.
둘 다 잘 작동하는 것 같지만 내보내기를 사용하면 변수를 서브 쉘 및 기타 프로그램에서 사용할 수 있습니다. 이것을 테스트하려면 이것을 시도하십시오.
이 두 줄을 .bashrc 파일에 추가하십시오.
TESTVAR="no export"
export MYTESTVAR="with export"
그런 다음 새 셸을 엽니 다.
echo $TESTVAR
및 echo $MYTESTVAR
를 실행하면 각 변수의 내용이 표시됩니다. 이제 동일한 셸 내부에서 .bashrc 파일에서이 두 줄을 제거하고 bash
을 실행하여 서브 셸을 시작합니다.
echo $TESTVAR
를 실행하면 빈 출력이 표시되지만 echo $MYTESTVAR
를 실행하면 "with export"가 표시됩니다.