.bashrc 현재 작업 쉘이 생성되는 상위 쉘을 생성할지 여부

.bashrc 현재 작업 쉘이 생성되는 상위 쉘을 생성할지 여부

영구 디렉토리를 설정하려면 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그 자체로는 새로운 케이스가 필요하지 않습니다. 환경만 바꿔도할 수 있다미래에 상속됩니다.

관련 정보