"./etc/profile"은 무엇을 합니까? [복사]

"./etc/profile"은 무엇을 합니까? [복사]

. /etc/profile책에서 이러한 지침을 보았지만 이 명령이 무엇을 하는지 모르겠습니다 .

와 같은가요 source /etc/profile?

Linux 관련 Java 단계

Linux 시스템에서 다음 지침은 /etc/profile.d/모든 사용자에 대해 정의된 디렉터리에 bash 파일을 설정합니다. JAVA_HOME이 폴더의 환경 설정을 변경하려면 루트 액세스가 필요하며 시스템의 모든 사용자에게 영향을 미칩니다. (우리는 bash 쉘 프롬프트를 사용합니다 .) Oracle JVM 설치 프로그램은 일반적으로 (v1.6)에 소프트웨어를 설치하고 $설치 간에 /usr/java/ jdk-1.6.X심볼릭 링크를 생성합니다./usr/java/default/usr/java/latest

$ /usr/java/latest/bin/java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
$ sudo echo "export JAVA_HOME=/usr/java/latest" > /etc/profile.d/java.sh
$ sudo echo "PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile.d/java.sh
$ . /etc/profile
$ echo $JAVA_HOME
/usr/java/latest

답변1

네, . /etc/profile말씀하신 대로예요. source /etc/profile이는 파일의 명령이 표준 스크립트를 호출하는 것과 같은 새로운 하위 쉘에서 실행되는 것이 아니라 마치 cli에서 실행되는 것처럼 실행된다는 것을 의미합니다.

https://tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html

3.5 파일 가져오기 파일을 가져올 때(명령줄에 소스 파일 이름 또는 . 파일 이름을 입력하여) 파일의 코드 줄은 마치 명령줄에 인쇄된 것처럼 실행됩니다. 이는 파일에 저장하고 해당 파일을 가져와서 불러올 수 있는 복잡한 프롬프트에 특히 유용합니다.

예제에서 함수가 포함된 파일의 시작 부분에 #!/bin/bash를 포함하는 경우가 많다는 것을 알 수 있습니다. 파일을 얻기 위해 chmod +xa가 필요하지 않은 것처럼 파일을 얻으려면 이 작업을 수행할 필요가 없습니다. 내가 이렇게 하는 이유는 Vim(내가 선택한 편집자, 트롤은 안 됩니다. 원하는 것을 사용하세요)이 내가 쉘 스크립트를 편집하고 컬러 구문 강조를 켜고 있다고 생각하게 만들기 때문입니다.

관련 정보