로그인 쉘은 어떤 방법을 사용하여 읽습니까 /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
이러한 파일을 얻으려면 셸을 사용하세요.
하위 프로세스에서 이 작업을 수행한다는 것은 쉘이 자체 환경에서 변수 등을 설정하지 않음을 의미합니다. 변수 등은 하위 프로세스의 환경(별도)에 설정되기 때문입니다. 하위 프로세스는 해당 환경을 상위 프로세스로 다시 전달할 수 없습니다.