2012-12-20 3 views
13

Google 검색 결과에 대한 자습서가 없다고 생각합니다. 다른 사람이 나에게 방향을 가르키거나이 라인과 변수가 mac에서 .profile의 의미를 설명 할 수 있습니까? 누군가 어떻게 구성 할 수 있습니까? man page 가입일Mac에서 .profile의 내보내기 경로

export PATH=/opt/local/bin:/opt/local/sbin:$PATH 
# Finished adapting your PATH environment variable for use with MacPorts. 
#export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 
export PATH=$PATH:/usr/local/mysql/bin 
#export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 
#export PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:/Applications/MAMP/htdocs/cake/cake/console:/opt/local/bin:/opt/local/sbin:$PATH 
export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH 
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH 

답변

36

상관 /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에있는 디렉토리를 순서대로 검색해야한다는 것을 기억하십시오. 대부분의 명령은 로컬 시스템에 있으므로 경로의 끝에 느린 네트워크 저장소를 두는 것이 가장 좋습니다.

+0

그렇다면 분명히 앞에 붙여야 할 때 왜 사람들이 $ PATH에 추가합니까? – Pacerier

+0

'PATH'에 언급 된 나머지 장소를 검색하기 전에 특정 디렉토리를 검색하는 것이 목표라면 앞에 추가해야합니다. 누군가가 추가하기로 결정하면, 그들은 다른 목표를 가지고 있을지도 모릅니다. 몇 가지 세부 사항으로 답변을 업데이트했습니다. – GargantuChet

7

export 단순히 환경 변수를 설정한다.

환경 변수은 사용자에게 명령 줄에 입력하는 명령을 찾는 순서대로 Mac에 알려줍니다. 콜론으로 구분 된 경로 목록입니다.

$PATHPATH 환경 변수의 현재 값입니다. 따라서

상기 PATH

export PATH=$PATH:/foo 

-/foo가,449로 시작 PATH

0

실행 man

그리고 당신은 현재 PATH 가치를 하나 개 이상의 경로 존재가 있음을 관찰 할 수 export

같은 질문에 대답.

:는 단일 경로의 끝을 나타내는 관찰 (광산 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin이었다).

당신은 당신이 목록에 또 하나 개의 경로를 추가 할 때 다음 /newPath:$PATH 또는 $PATH:/newPath 같은 새로운 경로로 현재의 경로를 추가 할 필요가 이제 $PATH

를 사용하여이를 검색 할 수 있습니다.

마지막으로 저장하려면 export PATH=$PATH:/newPath을 사용해야합니다.

참고 :이 답변은 초보 개발자 용입니다.

관련 문제