상관 /foo
라인을 추가
export PATH=/foo:$PATH
앞에 추가 같은 라인님이 댓글입니다. PATH=
은 PATH
변수의 값을 설정하고 $ PATH는 현재 값으로 확장되며 처음에는 export
이 터미널에서 실행하는 프로그램에 값을 제공합니다.
PATH의 초기 값이 /usr/bin:/bin
이라고 가정 해 봅시다.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
$PATH
을 $ PATH의 이전 값으로 바꿉니다. 따라서 위 세트 PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin
가 다시 앞으로
export PATH=$PATH:/usr/local/mysql/bin
이동에 이전 값으로 $ PATH를 대체 :
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
우리가
export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH
후
/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
합니다 (~
홈 디렉토리의 경로로 대체됩니다 특별한 토큰,하지만 당신은 사진을 얻을 수 있습니다.) 마지막으로
그리고,
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH
후 우리 get
/Users/android-sdks/platform-tools:/Users/android-sdks/tools:/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
PATH
은 통신에 입력하는 명령을 찾는 데 사용됩니다. 및 라인.,
/Users/android-sdks/platform-tools/foo
/Users/android-sdks/tools/foo
/android-sdks/platform-tools/foo
~/android-sdks/tools/foo
/opt/local/bin/foo
/opt/local/sbin/foo
/usr/bin/foo
/bin/foo
/usr/local/mysql/bin/foo
는 PATH의 현재 값을 보려면
echo $PATH
당신이 새로운 디렉토리를 추가해야 실행이
foo
을 입력한다면, 쉘은 지정된 순서대로 아래의 이름을 찾습니다
PATH
또는 끝 부분까지? 항상 중요하지는 않지만 때로는 중요합니다. 그것은 시스템이 먼저 점검 할 위치에 따라 다릅니다.
기본 디렉토리를 찾기 전에 다른 디렉토리를 검색하는 것이 목표 인 경우 처음부터 추가해야합니다. 예를 들어 git
은 소스 코드를 관리하는 데 사용되는 유틸리티입니다. 내가 ~/자식에 git
의 최신 버전을 설치하고 기본적으로 것을 를 사용하고 싶다면, 내가 할 줄 :
export PATH=~/git/bin:$PATH
이 ~/자식/빈/자식/opt가/지역 무시할 것을 의미/bin/git.
한편 관리자가 시스템 전체에 git
을 설치하도록하는 것이 좋습니다. /opt/local/bin/git
이미 /opt/local/bin
부터 존재하지 않은 경우 ~/git/bin/git
에만 사용되는이 경우
export PATH=$PATH:~/git/bin
: 관리자가 모든 사람이 사용할 수있게 될 때까지 내 로컬 복사본 만를 사용하려면, 다음이 더 의미 경로의 앞부분입니다.
많은 명령이 둘 이상의 장소에 존재하지 않습니다. 예를 들어, my-backup-script
으로 작성하고 Apple Time Capsule (/Volumes/Capsule/scripts
)에 넣을 수 있습니다. 충돌이 발생할 수있는 다른 위치에 my-backup-script
이라는 명령이있을 가능성은 없습니다.
export PATH=/Volumes/Capsule/scripts:$PATH
또는
export PATH=$PATH:/Volumes/Capsule/scripts
더 나은 하나입니다 : 그래서 다음 명령 중 하나는 my-backup-script
을 입력하고 바로 스크립트를 실행 할 것인가? 내 조언은 후자를 할 것입니다. 시스템은 찾으려는 모든 명령에 대해 $PATH
에있는 디렉토리를 순서대로 검색해야한다는 것을 기억하십시오. 대부분의 명령은 로컬 시스템에 있으므로 경로의 끝에 느린 네트워크 저장소를 두는 것이 가장 좋습니다.
그렇다면 분명히 앞에 붙여야 할 때 왜 사람들이 $ PATH에 추가합니까? – Pacerier
'PATH'에 언급 된 나머지 장소를 검색하기 전에 특정 디렉토리를 검색하는 것이 목표라면 앞에 추가해야합니다. 누군가가 추가하기로 결정하면, 그들은 다른 목표를 가지고 있을지도 모릅니다. 몇 가지 세부 사항으로 답변을 업데이트했습니다. – GargantuChet