Mac OSX 대부분의 명령에서 터미널을 찾을 수 없음


16

저는 Mac OSX 및 UNIX 기반 시스템을 처음 접했습니다. Mac Mini에서 몇 가지 Windows 게임을 실행하여 Wine 및 MacPorts를 설치하기 시작했습니다.

그렇게 한 후 입력 sudo port install wine하고 터미널에서 찾을 수 없음 오류를 반환했습니다. 내가 좋아하는 다른 기본 명령을 시도 say하고 clear그들 모두는 찾을 수없는 오류를 반환합니다. 나는 이것을 봤다. 지금까지 내가 이해했던 것은 PATH가 잘못 설정되었다는 것이다. 그래서 나는이 명령을 실행 echo $PATH했다.

/ opt / local / bin : / opt / local / sbin : / opt / local / bin : / opt / local / sbin : / opt / local / bin

누구 든지이 경로를 올바르게 설정하는 방법을 말해 줄 수 있습니까? 나는 mac의 완전한 초보자이며 .bash_profile 또는 그 파일이 어디에 있는지 전혀 모른다. 도움이된다면 Xcode 및 Xcode 용 명령 줄 도구도 설치했습니다. 마운틴 라이온을 운영하고 있습니다.


3
불행히도 우리는 유닉스에 대한 튜토리얼이 필요하다고 생각합니다. 비록 우리가 질문에 대답 할 수는 있지만 이해하기에 충분한 배경을 제공 할 수는 없습니다. 와인에 관해서-가장 쉬운 방법은 터미널 사용이 필요없는 Crossover (costs) 또는 Wineskin (free)입니다
user151019

답변:


12

$ PATH에는 다음 폴더가 포함되어야합니다 /usr/bin:/usr/sbin:/bin:/sbin..

시도 편집 ~/.bash_profile, ~/.profile또는 ~/.bash_login(로 예를 들어 /usr/bin/open ~/.bash_profile -a TextEdit)와 경로를 수정하는 라인을 주석.

그 작동하면, 당신은 같은 라인을 추가 할 수 있습니다 export PATH=/opt/local/bin:/opt/local/sbin:$PATH~/.bash_profile.


내보내기 PATH = / usr / bin : / bin : / usr / sbin : / sbin : / sbin : / usr / local / bin을 시도했지만 작동하지만 터미널을 닫았다가 다시 열면 동일한 오류로 다시 돌아갑니다. 나는 완전한 멍청한 놈이며 ~ / .bash_profile 또는 그 파일이 어디에 있는지 전혀 모른다. 그들이 숨겨져 있다고 가정합니까?
잭 코플랜드

~/홈 폴더 ( /Users/username/)입니다. 마침표로 시작하는 파일은 숨겨 지지만 예를 들어로 표시 할 수 있습니다 ls -la.
Lri February

내 .bash_profile에 이미 모든이 포함되어 있지만 터미널에서 그들을 발행 할 때 나는 여전히 겨 또는 MSSQL 등의 명령과 같은 문제가
dbnex14

3

비슷한 문제가 나에게 발생했기 때문에 내가 한 일은 다음과 같습니다.

1) PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"임시로 작동하도록 터미널에 내보내기 를 입력 하십시오.

2) 입력하여 bash_profile 편집 /usr/bin/open ~/.bash_profile -a TextEdit

3) 내 bash_profile 파일을 열었을 때 마지막 줄 내보내기가 이상한 기호로 정말 복잡해 보였으므로 완전히 변경했습니다. export PATH=/opt/local/bin:/opt/local/sbin:$PATH

나는 이것의 절대 초보자이지만 SE에 대한 다른 질문에서 해결책을 읽음으로써 그 단계를 얻을 수 있었으므로 다른 누군가를 도울 수 있기를 바랍니다.


2

경로를 덮어 쓴 것이 아니라 경로를 덮어 쓴 것처럼 들립니다.

PATH를 설정할 때 "${PATH}"기존 경로도 포함 하도록 포함 시키십시오.

기본적으로 $ PATH는 몇 개의 파일로 설정됩니다. 기술적으로 홈 디렉토리의 .bash_profile 파일에서 $ PATH에 추가해야합니다.

특정 폴더가 PATH에 추가되기 전에 존재하는지 확인하는 한 가지 제안.

예를 들어

if [ -d /usr/local/bin ] ; then
    PATH=/usr/local/bin:"${PATH}"
fi

if [ -d /usr/local/mysql/bin ] ; then
    PATH=/usr/local/mysql/bin:"${PATH}"
fi

if [ -d /opt/local/bin ] ; then
    PATH=/opt/local/bin:"${PATH}"
fi

if [ -d /opt/local/sbin ] ; then
    PATH=/opt/local/sbin:"${PATH}"
fi

if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

(그만큼 -d directory 명령은 디렉토리가 존재하는지 확인합니다)


1

나에게 내 잘못된 내보내기 명령을 사용하여 PATH에 새 디렉토리를 추가하려고 할 때이 정확한 문제가 발생했습니다 ~/.bash_profile. 아래의 두 가지 예.

export PATH=/some/new/path:PATH (incorrect, note missing $)

vs

export PATH=/some/new/path:$PATH (correct)

0

답변이 해결 된 것 외에도 테스트 할 사항을 하나 불러보고 싶습니다.

현재 창에 단순히 잘못된 PATH 변수가 있고 시스템이 더 손상되지 않은 경우 경로를 쉽게 수정할 수 있습니다.

echo $PATH
/usr/libexec/path_helper

위의 두 명령의 출력을 비교하십시오. "안전한"경로로 돌아가려면 path_helper제공되는 줄을 복사 하여 해당 터미널에 붙여 넣으십시오 . 수정되지 않은 Mac 10.11 시스템에서는 다음과 같은 도우미 도구의 출력이 있어야합니다.

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;

경로를 사용자 정의 해야하는 경우이 질문에 대한 훌륭한 답변을 찾으십시오.


1
또는 PATH=$(/usr/bin/getconf PATH)현재 쉘에서 사용 가능한 PATH를 얻기 위해 발행 할 수 있습니다. /usr/local수정되지 않은 시스템에는 없습니다.
fd0

탁월한 @fdo-getconf를 망칠 수있는 것을 알지 못하므로 하드 코딩만큼 좋을 수도 있습니다. 또한 "브 루트 포스"수정보다 짧습니다.
bmike

path_helper현재 PATH, /etc/paths파일 및 내의 모든 파일에서 PATH를 구성합니다 /etc/paths.d. 의 PATH 설정에 영향을받을 수도 있습니다 /etc/launchd.conf. getconf커널에 하드 코딩 된 시스템 PATH를 인쇄합니다 sysctl user.cs_path.
fd0

0

터미널의 ./bash_profile을 덮어 썼습니다.

export PATH=/usr/bin:/bin:/usr/sbin:/sbin/usr/local/bin터미널에서 현재 PATH 설정을 일시적으로 다시 쓰려면 사용하십시오 . 이것은 당신에게 액세스 권한을 부여해야 sudo하고 nano그 다음에 사용되는을 nano .bash_profile. 나를 위해 파일의 모든 것을 삭제했습니다.

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