명령 줄 응용 프로그램 인 응용 프로그램을 다운로드했으며 경로를 명시 적으로 입력하지 않고도 명령 줄에서 실행할 수있는 곳에 넣기를 원합니다.
-
이와 같은 일반적인 경로는 무엇입니까?
/usr/bin
? 관리자 계정과 같이 특정 사용자에게만 필요한 옵션과 모든 사용자에게 필요한 옵션이 있습니까? -
아니면 응용 프로그램 디렉토리 아래의 자체 디렉토리에 넣고 경로에 추가해야합니까? 그렇다면 어떤 파일이 경로 설정 위치를 제어합니까?
답변
핵심 답변 : 아마 원할 것 /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와 같은 추가 하위 디렉토리가 있습니다.