다른 스크립트에서만 호출할 수 있는 스크립트를 어디에 넣나요?

다른 스크립트에서만 호출할 수 있는 스크립트를 어디에 넣나요?

저는 여러 bash 스크립트로 구성된 기본 명령줄 애플리케이션을 작성했습니다. 그 중 하나는 컴퓨터의 모든 사용자가 실행하도록 되어 있으므로 정확한 위치는 입니다 /usr/local/bin/.

다른 스크립트는 사용자가 직접 실행해서는 안 되며 첫 번째 스크립트에서만 호출해야 합니다. 여기서 보안은 문제가 되지 않습니다. 사용자가 정확한 경로를 찾아 거기에서 실행하려고 해도 상관 없지만, 어디에서나 호출할 수 있는 경로에 있는 것을 원하지 않습니다.

지금까지 거기에 다 넣었지만, /usr/sbin/my_app_name/거기에 물건을 넣으면 안 된다는 걸 알아요. 그런데 그런 스크립트를 어디에 넣어야 할까요? 이상적으로는 my_app_name스크립트가 포함된 폴더를 올바른 위치로 이동 하고 싶습니다 .

답변1

긴 이야기 짧게: 지원 파일을 에 배치 /usr/local/lib/my_app_name하고 기본 스크립트를 에 배치합니다 /usr/local/bin.


물론 이런 종류의 것에 대한 표준화가 많지 않기 때문에 물건을 놓을 다양한 장소에 대해 많은 조언을 얻게 될 것입니다. 나는 시스템에 다른 사용자 프로그램이 설치된 위치에 따라 이러한 유형의 파일을 /usr/local/my_app_name/또는 에 넣는 것을 선호합니다 . /opt/local/my_app_name기본 프로그램은 /usr/local/bin또는 에 있어야 합니다 /opt/local/bin. 보조 스크립트를 별도로 실행하지 않으려면 기본 스크립트와 같은 위치에 배치하면 안 됩니다. 그러나 자회사가 그 자체로 완전한 모듈/라이브러리인 경우 다음과 같이 나타낼 수 있습니다.다른프로그램을 사용한다면 이와 같은 위치가 /usr/local/lib적절할 수 있습니다.

나중에 참고할 수 있도록 검토해 주세요.파일 시스템 계층 표준. 제안/usr/local그리고/opt(저는 /opt/localOSX에서 얻었습니다.맥 포트)은 비슷하지만 /opt공급업체에서 얻을 수 있는 외부 패키지에 더 가깝습니다. 예를 들어 Intel의수학 커널 라이브러리에 기본적으로 설치됩니다 /opt/intel/mkl.

관련 정보