글쓴이 보관물: 소장 마

Mac OS X : 바이너리 파일이 있어야하는 일반적인 장소 응용 프로그램을 다운로드했으며

명령 줄 응용 프로그램 인 응용 프로그램을 다운로드했으며 경로를 명시 적으로 입력하지 않고도 명령 줄에서 실행할 수있는 곳에 넣기를 원합니다.

  1. 이와 같은 일반적인 경로는 무엇입니까? /usr/bin? 관리자 계정과 같이 특정 사용자에게만 필요한 옵션과 모든 사용자에게 필요한 옵션이 있습니까?

  2. 아니면 응용 프로그램 디렉토리 아래의 자체 디렉토리에 넣고 경로에 추가해야합니까? 그렇다면 어떤 파일이 경로 설정 위치를 제어합니까?



답변

핵심 답변 : 아마 원할 것 /usr/local/bin입니다. macOS의 최신 상태에 따라 기본값을 업데이트해야 할 수도 있습니다 $PATH. 자세한 내용은 아래를 참조하십시오.

업데이트 12-01-2018 원래 답변을 작성한 후 Apple은 기본값을 변경했습니다 $PATH. 결과적으로 아래에서 말하는 많은 내용은 최신 Mac과 관련이 없습니다. echo $PATH터미널 을 입력 하고 /usr/local/bin처음 입력하면을 변경하는 것과 관련하여 아래의 모든 것을 무시할 수 있습니다 $PATH.

원래 답변

이와 관련하여 Mac은 드문 경우입니다. $PATH일반 사용자 의 기본 변수는 다음과 같습니다.

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

놓음으로써 /usr/local/bin /usr/bin/bin, 맥은 일반적인 시스템을 upends. 일반적으로 무언가를 넣을 수 있습니다 /usr/local/bin(예 : 비표준 방식으로 컴파일 된 두 번째 Perl 인터프리터). 일반 사용자는 먼저 시스템 전체가 아닌 사용자 정의 사용자를 공격합니다. 이거 좋다 사용자는 변형을 얻을 수 있지만 시스템은 순수하게 유지됩니다. $PATH그러나 Apple의 기본 설정 에 따라 /usr/bin또는에있는 항목은에있는 항목 /bin보다 먼저 찾을 수 있습니다 /usr/local/bin. (이것은 기본적으로 커스텀 Perl in 설치의 목적을 상실합니다 /usr/local/bin.)

이 문제를 해결하려면 사용자의 홈 디렉토리에서 파일 $PATH을 편집하여 일반 사용자를 변경할 수 있습니다 .profile. 새로 설치 한 경우 해당 파일이 존재하지 않을 수 있습니다.이 경우 해당 파일을 작성하십시오.

세미 관련 : Homebrew 는 Mac을위한 뛰어난 패키지 관리 기능을 제공합니다. 기본적으로 Homebrew는에 소프트웨어를 설치 /usr/local하지만 나중에 쉽게 제거하고 바닐라 상태로 되돌릴 수있는 방식으로 소프트웨어를 설치합니다 .


답변

/usr/local/bin/usr/local/sbin소스 메이크 많은 거기 설치이 기본값 빌드로, 경로에 추가 할 가치가 있습니다.

당신이 사용하는 경우 MacPorts를을 , 그것은 추가 가치 /opt/local/bin/opt/local/sbin뿐만 아니라.

이 작업을 수행하는 가장 좋은 방법은

export PATH=/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:$PATH

.bashrc홈 디렉토리 의 파일에 숨겨져 있습니다 (숨겨져 있으므로 CLI가 가장 좋은 방법입니다). 시스템 전체 경로를 변경하려면 동일한 행을 /etc/bashrc(숨겨지지 않은)에 추가하십시오. 해야하는 sudo이 작업을 수행 할 수 있습니다.

.bashrc집에 사용자 가없는 경우 집을 만들고이 줄을 추가 할 수 있지만 문제가있는 사용자가 읽을 수 있도록 만든 파일에 대한 권한을 변경해야합니다. 자신의 프로필에 대해 다시 수행하십시오).

$PATH끝에 당신이 전에 넣어 무엇을 시스템 기본 경로를 추가합니다. 시스템은 주어진 경로 순서대로 바이너리를 검색하므로, 바이너리를 시스템에 설치 /usr/local하거나 /opt/local시스템에 기본적으로 설치된 바이너리를 설치하면 설치 한 버전이 먼저 발견되므로 화를 낼 수 있습니다. 조심할 가치가 있습니다.

좋은 정보는 여기에 있습니다 .

나는 위의 당신이 사용하고 있다고 가정 점에 유의해야 배쉬 의 기본 인 쉘에 대한 맥 OS X 10.4 (타이거)와 맥 OS X 10.5 , 그러나 사용 이전 시스템에 (레오파드) tcsh, 대신 구문이 다릅니다.

도움이되기를 바랍니다 …


답변

나는 함께가는 경향이있다 /usr/local. 여기에 파일 시스템 계층 표준 (FHS) 을 참조 하는지에 대한 좋은 설명이 있습니다. Â Â Â Â Â Â 차례에 대해 말합니다 /usr/local:

이 호스트와 관련된 로컬 데이터의 3 차 계층. 일반적으로 bin, lib, share와 같은 추가 하위 디렉토리가 있습니다.


답변