bin
디렉토리의 실행 파일 과 편집 가능한 "소스"파일 사이에는 약간의 차이가 있습니다.
- 소스 파일의 경우 접미사를 사용하면 무엇이 무엇인지 알 수 있으며
#!
줄 을 스캔하지 못하는 덜 지능적인 도구를 도울 수 있습니다.
- 모듈의 경우 관련 프로그램 세트에서만 사용되며, 모두 동일한 인터프리터 (또는 인터프리터 없음)를 사용하며
.pm
, .sh
또는 .so
이러한 경우 를 포함하는 것이 일반적 입니다.
- 실행 프로그램의 이름은 사용자와 다른 스크립트가 호출하는 "프로그래밍 계약"의 일부입니다. 구현시에도 이름 이 변경되지 않는 것이 중요합니다 . 그래서 분명히 파일 이름은해야 하지 접미사가
컴파일 된 프로그램의 경우 "소스"와 "실행 가능"의 차이점은 명백합니다. 하나는 소스 코드를 포함하고 다른 하나는 기계 언어 또는 해석 된 바이트 코드를 포함합니다. 스크립트의 경우 명백한 차이는 없지만이 make
명령은 "스크립트의 소스 코드"와 "스크립트의 실행 가능한 버전"사이의 명 목적 분리를 유지합니다. "쉘 스크립트"의 기본 "컴파일러"는 간단합니다. cp
.
별도의 $HOME/source
디렉토리를 유지하는 것이 좋습니다 .
- 에 의해 만들어진 것과 같은 심볼릭 링크를 유지하는 단계
ln -s ../source/foo.sh $HOME/bin/foo
; 또는
install -m 755 foo.sh ../bin/foo
;를 사용하여 변경 한 후 테스트 한 후 수동으로 복사하십시오 . 또는
- 사용
Makefile
규칙은에서 소스 파일을 복사하기 전에 구문 검사를 수행하기 $HOME/source
로$HOME/bin
각주 : 쉘 스크립트 모듈은 다른 쉘 스크립트에 의해서만 가능하고, 수정합니다 사용하여 해당 스크립트의 내부 상황 .
또는 source
내장 명령. 이는 실행 가능한 스크립트와 다릅니다.이 스크립트는 다른 프로그램과 마찬가지로 별도의 프로세스로 실행되며 상위 프로세스를 수정할 수 없습니다. 대략적인 규칙으로 모듈은 /usr/lib/name_of_program/name_of_module.sh
들어가고 명령은 /usr/bin/name_of_command
접미사없이 넣습니다.