용어: 임의의 디렉토리에서 터미널 명령을 호출합니까?

용어: 임의의 디렉토리에서 터미널 명령을 호출합니까?

문맥:macOS Catalina zSh. 궁극적인 목표는 CLI를 통해 모든 데이터 위치에서 호출할 수 있도록 사용자 스크립트를 설정할 수 있는 것입니다.

질문:이 단어(용어)는 무엇입니까? 임의의 디렉터리에서 호출되는 터미널 명령입니까? 올바른 단어/문구를 사용하면 Google에서 해당 주제를 검색하고 아래에 정의된 목표를 향해 나아갈 수 있습니다.

예: 이 명령은 ls모든 디렉터리에서 실행될 수 있으며 출력을 반환합니다. 마찬가지로, 언제lsusb홈브류 소프트웨어를 사용하여 설치했습니다.: lsusb는 모든 디렉토리에서 작동합니다. lsusb가 설치되면 시스템은 어디를 볼지 알 수 있도록 구성됩니다 lsusb.

경로 변수:$PATH 변수에 경로 정보가 포함되어 있다는 것을 알고 있습니다.

아주 크다:~user$echo $PATH

반품

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

나는 의심한다/etc/경로시작 시 $PATH를 구성합니다.

아주 크다:~user$cat /etc/paths

/usr/local/bin /usr/bin /bin /usr/sbin /sbin

출력 경로는 다음과 같습니다.파일 시스템 계층, 내 목표와 비슷한 문제가 발생하지만 용어 문제는 발생하지 않습니다.

표적:주제의 단어/용어를 Google에서 검색하여 모범 사례를 배우고 싶습니다.모든 디렉터리에서 스크립트를 실행할 수 있도록 하는 방법. 다른 경로를 추가할지 아니면 $PATH 변수에 구성된 위의 기존 경로 중 하나를 선택할지 결정해야 합니다.

어떤 디렉터리에서든 내 스크립트를 호출할 수 있습니다.중요한 실용성을 가지고 있습니다. 이 스크립트는 파일 시스템의 어느 곳에나 위치할 수 있는 PDF 파일에 대한 작업을 수행합니다. 내 스크립트는 실행 파일을 호출합니다.PDF 문서 인감.

밝히다: 주제는 제기된 "하위 폴더" 질문이 아닙니다.https://apple.stackexchange.com/q/366127/187540 이 내용은 디렉토리 관리와 어느 정도 관련이 있으므로 잘 읽어 보십시오.

답변1

내가 아는 한, 애플리케이션/유틸리티/스크립트가 배치되거나 배치되어야 한다는 것 외에는 귀하가 요청하는 것으로 보이는 구체적이고 잘 알려진 용어가 없습니다.경로에, 약어로"실행 가능한 검색 경로에 포함된 디렉터리에". 안타깝게도 짧은 형식은 Google에서 쉽게 검색할 수 없으며 긴 형식은 거의 사용되지 않습니다.

모든 사용자가 스크립트를 사용할 수 있도록 하려면 "표준" 방법은 스크립트를 에 추가(또는 링크)하는 /usr/local/bin것입니다.로컬 시스템 관리자가 관리하고 시스템의 모든 사용자가 사용할 수 있는 스크립트 및 도구의 예상 위치입니다.이 디렉터리는 일반적으로 시스템의 기본 $PATH사용자 디렉터리에 포함됩니다.

/usr/local/bin귀하 의 예에서는$PATH 앞으로시스템 표준 도구 디렉토리 /usr/bin. /bin이를 통해 시스템 관리자는씌우다/usr/local/bin예를 들어 해당 표준 시스템 도구와 정확히 동일한 이름을 가진 특정 도구의 최신 버전을 배치하여 표준 도구를 설정합니다.

스크립트의 목적이 다음과 같다면모든 시스템 관리자만, 그러면 /usr/local/sbin각각 예상되는 위치입니다. 그러나 이것이 항상 $PATH시스템 관리자의 기본값 에 자동으로 추가되는 것은 아닙니다 .

그러나 직접 설정하려는 경우 가장 쉬운 방법은 스크립트용 디렉터리를 설정하고( $HOME/bin예를 들어 원하는 대로 이름을 지정할 수 있음) 이를 $PATH스크립트의 개인 로그인 시스템 기본값에 추가하는 것입니다.

기본값을 수정하는 경우 $PATH기존 값을 완전히 바꾸거나(무엇을 하고 있는지 모르는 경우 권장되지 않음) 사용자 정의 스크립트 디렉터리를 $PATH.

$HOME/bin현재 항목에 추가 $PATH:

export PATH="$PATH:$HOME/bin"

사용자 정의 디렉토리를 추가하면 그 안에 있는 스크립트가 검색 순서에서 마지막에 배치되므로 일부 표준 시스템 도구와 동일한 스크립트 이름을 지정하여 실수로 문제가 발생하지 않도록 할 수 있습니다.

반대로 만약 당신이생각하다표준 도구를 자신의 도구로 재정의하려면 다음 위치에 scripts/tools 디렉터리를 추가하면 됩니다 $PATH.

export PATH="$HOME/bin:$PATH"

이 변경 사항을 영구적으로 적용하여 모든 셸 세션에 영향을 미치고 재부팅 후에도 지속되게 하려면 위의 줄을 파일에 추가하기만 하면 ~/.profile됩니다(아직 없으면 만들 수 있습니다).

관련 정보