답변:
PATH가 설정된 첫 번째 장소는 /etc/login.defs
입니다. 루트 설정과 다른 모든 사람을위한 설정이 있습니다.
환경 변수를 정의 할 수있는 다른 곳은 /etc/environment
입니다. 이 설정은 모든 사람에게 적용됩니다 (임의의 쉘 코드를 작성할 수 없음).
환경 변수를 정의 할 수있는 세 번째 장소는 /etc/profile
입니다. 임의의 쉘 코드를 작성할 수 있습니다. 사용자 별 설정을 원하는 경우 해당하는 사용자 별 파일이 ~www-data/.profile
있습니다. 그러나 이것은 콘솔 대화식 로그인에만 적용됩니다. 특히 명시 적으로 source하지 않는 한 cron 작업에는 적용되지 않습니다 /etc/profile
.
PATH
사용자 crontab에서 해당 설정 만 필요한 경우 crontab 시작 부분에 해당 설정을 작성할 수 있습니다. 전체 목록 ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
) 이 필요 하며 변수 대체를 사용할 수 없습니다 ( PATH=$PATH:/usr/local/zend/bin
여기서는 작동하지 않음).
/etc/login.defs
무시해야 할 이유 가 있습니까? ENV_PATH
.bashrc 가로 드 될 때 $ PATH를 업데이트 하고 에코합니다. 가운데 어딘가에 변경되었거나 이전 값을 표시 할 때 업데이트되지 않습니다. 컴퓨터를 다시 시작 했으므로 그렇지 않습니다.
PATH
다른 방법을 추가하거나 대신 하여 정의하는 고유 한 방법이있을 수 있습니다 .
나노 / etc / profile
파일 끝에 다음 줄을 추가하십시오.
수출 JAVA_HOME = / opt / jdk-12.0.1
수출 MAVEN_HOME = / opt / apache-maven-3.6.1
수출 M2_HOME = / opt / apache-maven-3.6.1
수출 M2 = / opt / apache-maven-3.6.1 / bin
내보내기 PATH = $ JAVA_HOME / bin : $ M2 : $ PATH
파일을 저장하십시오. 아래 명령을 다시 시작하거나 사용하십시오.
소스 / etc / profile
설정을 테스트하십시오.
에코 $ JAVA_HOME
javac-버전