영구 디렉토리를 설정하려면 export
해당 디렉토리를 ~/.bashrc에 추가해야 합니다.
PATH="$PATH":/usr/local/mysql/bin
export PATH
이것은 현재 작업 쉘이 ~/.bashrc 스크립트의 상위 쉘에서 생성된 하위 쉘이라는 것을 의미합니까?
$ var=3; export var; bash
$ echo $var
3
상위 쉘은 변수를 하위 쉘로 내보냅니다.
~/.bashrc
이것이 작동할까요?
답변1
아니요, ~/.bashrc
새 셸이 시작되지 않습니다.
초기화 ~/.bashrc
파일은원천즉, 호출된 셸과 동일한 환경에서 읽고 실행됩니다(스크립트로 실행되지 않음).
쉘은 기본적으로 새 쉘 인스턴스를 생성하지 않고 파일의 내용을 수행 source ~/.bashrc
하거나 실행합니다.. ~/.bashrc
export variable=value
명령줄(또는 ) variable=value; export variable
에서 이 작업을 수행 할 때 변수를 "내보냄"으로 설정 variable
하고 value
표시합니다. 즉, 동일한 셸에서 시작된 후속 프로세스에 의해 상속되는 환경 변수가 됩니다. 새로운 쉘이 시작되지 않습니다 export
.
답변2
새 셸을 생성하는 데는 아무런 의미가 없습니다. 이는 .bashrc
스크립트가 아니라 텍스트 파일입니다. 쉘의 PID를 모니터링하고 .bashrc
.
. ~/.bashrc
새로운 프로세스가 생성되지 않습니다. 이는 마치 파일에 포함된 모든 행을 수동으로 입력한 것과 같습니다. export
그 자체로는 새로운 케이스가 필요하지 않습니다. 환경만 바꿔도할 수 있다미래에 상속됩니다.