로그인 쉘은 /etc/profile을 읽기 위해 어떤 방법을 사용합니까?

로그인 쉘은 /etc/profile을 읽기 위해 어떤 방법을 사용합니까?

로그인 쉘은 어떤 방법을 사용하여 읽습니까 /etc/profile?

답변1

소스가 있습니다. 실행과 조달의 차이점은 아래에 설명되어 있습니다.이 게시물. 여기서 중요한 차이점은 소싱으로 인해 소스 파일의 명령이 현재 셸에서 실행된다는 것입니다. 이는 파일에 정의된 모든 변수를 이제 셸에서 사용할 수 있음을 의미합니다. 차이점을 설명하려면 다음을 시도해 보세요.

$ cat foo        ## a simple file with a variable definition
var="hello"
$ chmod +x foo   ## make file executable
$ ./foo          ## execute
$ echo "$var"    ## var is not set in the parent shell

$ . foo          ## source
$ echo "$var"    ## var is now set in the parent shell
hello

그래서 /etc/profile그것을 읽는 쉘에 영향을 줄 수 있어야 하기 때문에,원천그리고 처형되지 않았습니다.

답변2

이러한 파일을 얻으려면 셸을 사용하세요.

하위 프로세스에서 이 작업을 수행한다는 것은 쉘이 자체 환경에서 변수 등을 설정하지 않음을 의미합니다. 변수 등은 하위 프로세스의 환경(별도)에 설정되기 때문입니다. 하위 프로세스는 해당 환경을 상위 프로세스로 다시 전달할 수 없습니다.

또한보십시오:상위 쉘에서 하위 쉘의 변수를 사용 가능하게 만드는 방법

관련 정보