전체 디렉토리가 아닌 단일 실행 파일을 $ PATH에 추가 할 수 있습니까?


9

OSX에 XAMPP가 설치되어 있으며 기본적으로 자체 bin디렉토리 (다양한 유틸리티로 가득 찬) 경로를 $PATH변수에 추가합니다.

# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"

불행히도 HEADOSX의 대소 문자를 구분하지 않는 파일 시스템 덕분에 유닉스 head명령 과 충돌 하는 유틸리티 중 하나가 호출 됩니다. XAMPP HEAD는 완전히 관련이 없습니다 head(HTTP HEAD 요청을 발행한다고 생각합니다).

물론 headXAMPP와 XAMPP를 모두 사용하고 싶기 때문에 단순히 경로 변수 순서를 변경했습니다.

export PATH="$PATH:$XAMPP_PHP"

이를 통해 사용할 수 head있지만 이제 XAMPP의 PHP 버전 (예 : 5.5)과 OSX (5.3)와 함께 제공되는 사전 설치된 PHP 버전간에 충돌이 발생합니다. 5.3으로가는 길이 먼저 오므로 우선 순위가 높아집니다.

해킹 솔루션에 대한 나의 계획 은 전체 파일 경로 + 이름 앞에 XAMPP의 PHP 버전 을 추가 한 다음 나머지 경로를 다음에 추가하는 것입니다 $PATH.

export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"

이것은 작동하지 않는 것 같습니다. bash를 다시 시작하고 확인 php -v하면 여전히 내장 버전 인 PHP 5.3에 있습니다. 특정 파일 경로를 $PATH전혀 추가 할 수 있습니까?


4
아니요, $PATH디렉토리만으로 구성 될 수 있습니다. 원하는 특정 실행 파일을의 기존 디렉토리에 symlink 할 수 있습니다 $PATH.
larsks

답변:


8

그 가정 echo "$PATH"/usr/local/bin당신의 경로를,이 개인 노트북이다 주어진 :

/usr/local/bin원하는 실행 파일을 가리키는 심볼릭 링크를 만듭니다 .

ln -s /Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/php

공유 컴퓨터이고 다른 사용자에게 영향을 미치지 않으려면에서 PATH에 대한 사용자 지정 확장명을 설정하는 것이 좋습니다 ~/.bash_profile. 나는 나 자신이있다 :

$ grep PATH ~/.bash_profile 
export PATH="$PATH:$HOME/.bin"

그런 다음 사용자 정의 심볼릭 링크, 스크립트 등을 넣을 수 있으며 ~/.binPATH에서 이미 존재하는 시스템 명령을 무시하지 않고 예상대로 실행됩니다.

Finder를 탐색 할 때 디렉토리를 볼 필요가 없으므로 .시작 부분 에을 넣습니다 .bin.

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