Linux에서 시스템 경로에 디렉토리를 추가하는 방법

Linux에서 PATH 환경 변수는 명령 행에 입력 된 명령의 실행 파일을 검색 할 경로의 이름을 저장합니다. PATH 환경 변수의 값은 콜론으로 구분 된 일련의 경로 이름을 포함하는 문자열입니다. 예를 들어, 일반적인 시스템의 기본 PATH 는 다음과 같습니다.

 / usr / local / bin : / usr / bin : / bin : / usr / local / games : / usr / games 

명령 프롬프트에서 cat 과 같은 명령을 입력하면 쉘은 이러한 각 디렉토리에서 cat 이라는 실행 파일을 찾습니다. 발견 된 첫 번째 것이 실행되는 것입니다.

PATH 환경 변수의 현재 값을 보려면 echo 명령을 사용할 수 있습니다. 셸의 모든 변수와 마찬가지로 변수 이름 앞에 달러 기호를 넣어야하는 값을 참조 할 때 :

 echo $ PATH 

위의 예에서 path의 현재 값은 사용자를 명령 프롬프트로 반환합니다.

현재 쉘 세션에 대한 PATH 설정

다음과 같이 NAME = VALUE 형식으로 다른 쉘 변수와 마찬가지로 PATH의 값을 설정할 수 있습니다.

 경로 = / my / first / path : my / second / path 

이 명령의 문제점은 이전에 갖고 있던 값을 완전히 덮어 쓰는 것입니다. 아마도 원하지 않을 것입니다. 이전 값과 함께 새 값을 추가하려는 경우 다음과 같이 새로운 정의에서 PATH 를 참조하여이를 수행 할 수 있습니다.

 PATH = $ PATH : / my / new / path 

위의 명령을 사용하면 PATH 의 현재 값에 새 경로가 추가됩니다. 경로 이름은 순서대로 검색되므로 여기에서 수행 한 것처럼 변수 끝에 새 경로를 추가하는 것이 좋습니다. 대신 입력 한 경우 :

 PATH = / my / new / path : $ PATH 

새 경로는 기본 시스템 경로 이전이 아닌 후에 검색됩니다.

내보내기를 사용하여 PATH 환경 변수를 하위 프로세스로 전달

이 유형의 PATH 정의는 현재 쉘 세션의 환경 변수를 설정하지만, 실행 한 새 프로그램에는 추가 한 새 경로가 표시되지 않을 수도 있습니다. 쉘이 다른 프로그램과 프로세스에 전달되는 환경 변수를 수동으로 선언해야하므로 환경을 제어 할 수 있기 때문입니다. 내보내기 명령을 사용하여이 작업을 수행 할 수 있습니다. 다음을 실행하는 경우 :

 수출 경로 

로그 아웃 할 때까지 실행하는 프로세스는 PATH 의 현재 값을 사용합니다.

원한다면 편의상이 두 명령을 한 행에 결합 할 수 있습니다. 쉘이 별도의 명령임을 알 수 있도록 세미콜론을 삽입하십시오.

 PATH = $ PATH : / my / new / path : / my / other / new / path; 내보내기 PATH 

팁 : 경로 이름에 공백이있는 경우 변수 정의를 따옴표로 묶어야 안전합니다.

 PATH = "$ PATH : / 경로에 퍼팅 / 공백 : / makes / life 매우 / 불편 함"; export PATH 

새로운 쉘 세션마다 PATH 변수 설정하기

지금까지 사용했던 방법은 현재 쉘 세션의 환경 변수 만 설정합니다. 로그 아웃하거나 터미널 창을 닫을 때 변경 사항은 잊어 버리게됩니다. 로그인하거나 새로운 쉘 세션을 시작할 때마다 PATH 를 특정 값으로 설정하려면, bash 시작 스크립트에 PATH 를 추가해야합니다. 대화 형 셸 세션을 시작할 때마다 bash는 다음 파일을 순서대로 읽으며 (존재하는 경우) 다음 명령을 실행합니다.

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .profile

첫 번째 파일 인 / etc / profile 은 시스템의 모든 사용자에 대한 기본 시작 스크립트입니다. 나머지 세 파일 중 하나 이상은 모든 사용자의 홈 디렉토리에 있습니다. 이 세 가지 중 어느 것도 사용할 수 있지만이 순서대로 검색된다는 것을 아는 것이 중요합니다.

이 파일을 편집하고 PATH = 정의를 포함하는 행을 수동으로 변경할 수 있습니다. 중요한 운영 체제 파일을 찾는 데 사용되는 디렉터리이기 때문에 그렇게 할 경우 조심하십시오.

현재 사용자의 경로를 추가하기 만하면 다른 PATH = 행을 그대로두고 파일 끝에 다음과 같은 행을 추가하면됩니다.

 PATH = "$ PATH : / new / path"; 내보내기 PATH 

이것을 홈 디렉토리의 .bash_profile 파일 끝에 추가하면 사용자가 새 쉘 세션을 시작할 때마다 적용됩니다. 이것을 / etc / profile에 추가하면 시스템의 모든 사용자에게 적용됩니다. / etc / profile 을 편집하려면 관리자 권한이 필요하므로 sudo 를 사용하거나 root로 로그인하여 root 권한으로 로그인하십시오.