PATH에 새 디렉터리를 추가하고 PATH에 이미 있는 디렉터리에 대한 심볼릭 링크를 추가합니다.

PATH에 새 디렉터리를 추가하고 PATH에 이미 있는 디렉터리에 대한 심볼릭 링크를 추가합니다.

Bash에서 Sublime Text를 실행할 수 있도록 설정할 때 다른 튜토리얼을 통해 이를 수행하는 두 가지 방법을 찾았습니다.

방법 1) /usr/local/bin/sublSublime의 bin 디렉터리에 대한 심볼릭 링크를 만듭니다.

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

이는 /usr/local/bin내 PATH 변수에 이미 있는 내용을 활용합니다.

...또는...

방법 2) Sublime의 bin 폴더 경로를 포함하도록 PATH를 업데이트합니다.

export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin/":$PATH

두 가지 방법 모두 효과가 있지만 한 가지 방법이 다른 방법보다 나은지, 아니면 둘 다 똑같이 좋은지 궁금합니다.

내가 볼 수 있는 유일한 이점은 PATH에 더 적은 디렉터리를 갖는 것이 유익한 경우 방법 1입니다(실행 파일을 찾는 속도/성능?).

답변1

방법을 찾고 계시다면터미널에서 직접 프로그램/스크립트를 명령으로 실행/실행, 그렇다면 스크립트나 링크를 넣는 것이 /usr/local/bin좋은 선택인 것 같아요!

또 다른 장점은 이미 경로에 있다는 것입니다. 입장이것관련 게시물.

그러나 프로그램 디렉터리가 여러 실행 파일을 제공하는 경우 해당 디렉터리로 경로를 내보내는 것이 여러 개의 심볼릭 링크를 개별적으로 만드는 것보다 유용할 수 있고 더 나을 수 있다고 생각합니다.

답변2

기존 디렉토리에 심볼릭 링크를 추가하는 것이 PATH 일반적으로 더 나은 옵션입니다.

소프트웨어가 시스템 전체에서(다른 사용자에게 ) 표시 되도록 하려면 에 심볼릭 링크를 추가하십시오 /usr/local/bin. 디렉토리(존재하는 경우)를 선택하고 디렉토리에서 심볼릭 링크를 추가합니다.$HOME/bin/PATHbash

성능(그러나 일부 쉘은 조회를 캐싱하므로 그다지 중요하지 않을 수 있음)과 가용성을 위해 매우 긴 디렉토리를 피해야 합니다 PATH(따라서 새로 설치된 각 응용 프로그램에 대해 디렉토리를 추가하지 마십시오). 수십 개의 디렉토리를 포함하면 엉망이 됩니다. 이 역시 적용됩니다 (따라서 심볼릭 링크를 추가하는 것이 더 좋습니다 ).PATHPATHLD_LIBRARY_PATH$HOME/lib/

당신도 그럴 수도 있어요사용을 고려해보세요GNU 저장소이는 프로세스를 부분적으로 자동화합니다(몇 년 전에 사용해 보았지만 부담을 느낄 만큼 가치가 없다고 결정했습니다).

/usr/local/ 마지막으로, 소스 코드에서 컴파일된 많은 소프트웨어는 해당 디렉터리 /usr/local/bin/ 외부의 다른 위치 에 설치되도록 구성할 수 있습니다 . 다음으로 구성된 무료 소프트웨어의 경우GNU 자동 구성시설(예: ... configure에서 스크립트 생성) 및 configure.ac빌드 시 전달할 수 있는 --prefix=$HOME/pub/ --exec-prefix=$HOME/bin/기타 옵션 (예:...).--program-suffix=-mine

세 번째 방법그것이하는 일은포장하다일부 쉘 스크립트의 실행 파일which export-s 는 향상된 기능입니다 ( PATH 예: export PATH=$PATH:/opt/something/bin.... 실행 파일이 내부 실행 프로세스를 통해 더 많은 포크를 수행하는 경우 필요함 execvp). btw, 대부분의 Firefox 설치에서는 다음 중 하나를 수행 합니다 firefox. mozilla) 또는 exec mozilla.bin전체 경로를 -ing으로 끝나는 스크립트에서 사용합니다. exec따라서 간단히 작은 쉘 스크립트를 추가할 수 있습니다 $HOME/bin/sublimetext( $HOME/bin/ 다음과 같다고 가정).이미PATH) 에는 다음 이 포함되어 있습니다.

#!/bin/sh
# file $HOME/bin/sublimetext
# if needed add export PATH=$PATH:/Applications/Sublime\ Text.app/Contents/SharedSupport/bin 
exec /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl "$@"

$HOME/bin/subl 원하는 경우 스크립트 이름을 지정할 수도 있습니다. 스크립트를 실행 가능하게 만드는 것을 잊지 마세요.chmod u+rx $HOME/bin/subl

관련 정보