Mac OS X에서 $ PATH 변수를 어떻게 재설정합니까?


17

경로 변수를 엉망으로 만들었고 이제 실행하는 일부 앱에서 datesleep 과 같은 명령에 대해 Command Not Found (오류 127)라는 오류가 발생 합니다 . 이 명령은 쉘에서 직접 실행될 때 잘 작동합니다.

나는 이것이 잘못된 $ PATH 변수와 관련이 있다고 생각하고 그것을 재설정하는 방법을 알아야합니다. ~ / .bashrc , ~ / .bash_profile , /etc/bash.bashrc~ / .bashrc~ / .profile 파일을 삭제했습니다 .

다른 파일은 $ PATH를 보유 할 수 있습니까? 경로를 재설정 할 수있는 무수한 파일을 파는 것보다 경로를 재설정하는 간단한 방법이 있습니까?

이 경로 문제는 내 사용자에게만 해당됩니다. 나는 시스템에서 테스트 사용자를 만들었고 경로는 정상으로 돌아갔다.

업데이트 : 감사합니다. 삭제 한 파일 중 하나를 수행했지만 아무것도 다시 작동하지 않습니다. 너희들은 '전문가들'이 할 수없는 일을 했어요. 네, 크리스, 당신 말이 맞았어요 내가 만든 PATH 사용자 지정은 bash_login에있었습니다. 그러나 어떻게 든 사용자 정의를 삭제하지 않고 작동했습니다. 나는 'RCEnvironment'라는이 prefpane을 사용하고 있었기 때문에 따옴표와 : PATH가있는 경로에 들어갔습니다. 나는 따옴표를 사용하는지 여부를 모르고 : $ PATH를 대체하지 않으므로 아마도 오류의 근원 일 것입니다. 나는 심지어 그 prefpane을 가지고 잊어 버렸습니다!


1
/ etc / profile은 PATH의 초기 값을 설정하기에 가장 적합한 곳이지만 모든 사용자에게 영향을 줄 수 있습니다. ~ / .bash_login도 있는데, 목록에없는 것입니다 (이미 제거했을 수도 있음).
Chris Johnsen

답변:


19

~ / .MacOSX / environment.plist 파일이있는 경우 기본 PATH 값을 제공하는지 확인하십시오.

XML 형식 인 경우 (복수 형식은 여러 형식 일 수 있음) 모든 텍스트 편집기를 사용하여 편집 할 수 있습니다. plutil -lint ~/.MacOSX/environment.plist직접 편집하면 확인하십시오 .

또는 defaults 또는 PlistBuddy 와 같은 명령을 사용 하여 XML 또는 이진 형식 plist 파일을 제어하여 수정할 수 있습니다.


쉘의 초기화 파일에서 언제든지 자신의 PATH를 설정할 수 있습니다.

쉘의 시작 파일 ( .bashrc, 또는 .bash_profile/ .bash_login/ .profile)에 다음과 같은 것을 넣으십시오 .

PATH=/usr/bin:/bin:/usr/sbin:/sbin
export PATH

# add custom, local installations to PATH
PATH=/usr/local/bin:/usr/local/sbin:"$PATH"

# add MacPorts to PATH
PATH=/opt/local/bin:/opt/local/sbin:"$PATH"

쉘이 시작될 때 설정된 기본 PATH를 무시합니다 (첫 번째 PATH=는을 사용하지 않으므로 $PATH항상 지정한 것만으로 시작합니다).

만 '로그인'파일 중 하나는 적 (존재의 읽을 수있는 첫 번째 사용됩니다 ~/.bash_profile, ~/.bash_login그리고 ~/.profile사용됩니다). .profile다른 쉘과의 역 호환성을위한 것입니다. 사용하는 경우 bash 고유의 구문이 없어야합니다 . 당신이가는 경우 .bash_login또는 .bash_profile(가 기능적으로 이름을 제외하고 동일), 다음과 같은 줄을 사용 [[ -e ~/.bashrc -a -r ~/.bashrc ]] && source ~/.bashrc ]]하는 로그인 쉘은 또한 당신의에서 만든 사용자 정의를 얻을 수 있도록 상단에 .bashrc.

bash의 모든 인스턴스가 동일한 PATH를 갖도록하려면을 사용하십시오 .bashrc. 명령 행에서 단일 쉘의 PATH를 대화식으로 수정하고 서브 쉘에서 수정 된 PATH를 사용하려는 경우 (아마도 흔하지 않은 경우) 대신 'login'파일 중 하나에 명령문을 넣어야합니다. . 로그인 파일 중 하나만 선택하여 사용하십시오.


8

1. 터미널을 엽니 다

2.You는 첫째로 당신의 현재 확인할 수 $PATH, 유형

에코 $ PATH

터미널로

3. $PATH그 터미널이 돌려 준 경로가 원하는 경로라면, 당신은 좋다. 그렇지 않으면 입력

내보내기 경로 = / usr / bin : / bin : / usr / sbin : / sbin

을 입력 한 다음

~ / .bash_profile을 터치하십시오.

을 입력 한 다음

~ / .bash_profile을여십시오

그런 다음 EditText가 열리면 해당 EditText에 원하는 경로를 입력하십시오. 예를 들어,

PATH = / usr / bin : / bin : / usr / sbin : / sbin

(이것은 아마도 이것을 입력해야 $PATH하기 $PATH때문에 재설정하려는 것을 고려하면 mac 의 기본값 입니다 ) 저장하고 EditText를 닫은 다음 터미널을 닫으십시오.

4. 이제 당신을 이미 변경 $PATH했거나 mac의 기본값으로 재설정했습니다 $PATH!


2
나는 효과가없는 것 위에 많은 것이 있다고 느낍니다. 왜 필요하다고 생각 touch합니까? 터미널 어쨌든을 닫는 것 같이 또한, 왜 실행 export에 추가 만 다음이 아니라, 명령 줄에서 ~/.bash_profile(필요가있는 export도)과 함께 할 수? (또는 source ~/.bash_profile현재 창에 변경 사항을 적용하도록 실행 하십시오.)
Arjan

사실, 그중 일부는 중복입니다. PATH 값을 .bash_profile에 저장하십시오.
ThinkCode

1

Chris Johnson의 rc/profile편집 내용도에서 잘 작동합니다 /etc/profile.

방금 추가했습니다.

export PATH="/usr/local/mariadb/bin:$PATH"

/etc/profileMac OS X 10.9 Mavericks에서 내 파일에 MariaDB 설치를 완료합니다 (MySQL을 대체하는 대체 기능으로 작동합니다).


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.