폐쇄 . 이 질문은
의견 기반 입니다. 현재 답변을 받고 있지 않습니다.
댓글
Answer
.sh
이식 가능하다는 것을 의미 합니다 (그리고 이식 가능하면 이동 합니다).
그렇지 않으면 언어를 숨기는 것이 더 낫다고 생각합니다.주의 깊은 독자는 어쨌든 shebang 줄에서 찾으십시오. (실제로 .bash
또는 .zsh
등… 접미사는 거의 사용되지 않습니다.)
댓글
답변
파일 확장자에 대한 “우수 사례”는 없으며 엄밀히 말하면 기술적 인 측면에서 볼 수 있습니다. Unix / Linux / * BSD 파일 시스템은 그렇지 않습니다. 확장 기능 자체를 지원합니다. 확장이라고 부르는 것은 단일 파일 이름의 접미사 일뿐입니다. 이는 VM / CMS, VMS, MS-DOS 및 Windows 파일 시스템 및 OS와는 다릅니다. 도덕적 동등성은 확장을 위해 예약되어 있습니다.
이제 약간의 불평이 있습니다. 쉘에 “.sh”, “.ksh”또는 “.bash”접미사를 붙이는 것은 약간 어리석은 일이라고 생각합니다. 스크립트 파일 이름. 프로그램은 프로그램입니다. 실행되는 것을 구별하는 데 아무런 이점이 없습니다. unix, linux 또는 어떤 커널도 파일 이름 접미사 때문에 어떤 파일에 대해 인터프리터를 호출하기로 결정하지 않았습니다. #!
줄 또는 다른 “매직 넘버”바이트 시퀀스 파일의 시작. 실제로 파일 이름 “확장자”를 기반으로 실행할 대상을 결정하는 것은 Windows를 맬웨어 자석으로 만드는 요인 중 하나입니다. “something.jpg.exe”라는 파일이 포함 된 Windows 맬웨어 사기 수를 확인하십시오. 기본적으로 최신 Windows에는 “.exe”확장자가 표시되지 않으며 사용자가 “이미지”를 두 번 클릭하도록 권장합니다. 이미지보기가 실행되면 멀웨어가 실행됩니다.
직접적인 명령으로 생각할 수있는 것은 어쨌든 쉘 스크립트입니다. 때로는 cc
가 sh-script, firefox
는 sh- 스크립트, startx
는 sh- 스크립트입니다. 나는 거기에인지 또는 “.sh”접미사를 사용하여 스크립트를 표시하면 조직적인 이점이 있습니다.
댓글
답변
다양한? nix 환경에서 일한 사람으로서 저는 다양한 껍질. 믿거 나 말거나, 플랫폼간에 셸이 동일하지 않습니다. 따라서 개인 라이브러리를 여러 셸로 유지하는 경우 (필요한 경우) 확장을 사용하여 셸을 식별하는 것이 매우 유용합니다. 이렇게하면 다른 플랫폼으로 이동하고 셸이 약간 다를 때 수정할 대상 스크립트를 알 수 있습니다. .sh .ksh .bsh .csh …
댓글
답변
이 아닙니다.
실행 파일은 상호 교환 할 수 없으므로 확장명을 사용해서는 안됩니다. 쉘 스크립트 a.sh
가 있다고 가정 한 다음 Python a.py
로 다시 작성하면 이제 스크립트를 호출하는 모든 프로그램을 변경해야합니다. , 구현 세부 사항을 유출했습니다.
Mircosoft의 Windows에서 파일 이름 확장자 전체는 엉망입니다. 예를 들어 a.audio, b.audio, c.audio
일 수있는 것은 다음과 같습니다. a.mp3, b.wav, c.ogg
및 d.picture, e.picture, f.picture
는 d.jpeg, e.png, f.gif
입니다. 대부분의 경우 어떤 형식인지는 신경 쓰지 않습니다. 오디오 또는 사진이 들어 있습니다. 또한 새로운 사용자에게 모든 파일 확장자를 가르치는 데 오랜 시간을 소비해야합니다.
댓글
답변
말했듯이 Unix 파일 확장자는 순전히 정보입니다. 올바른 shebang이 있고 실행 가능한 스크립트가 필요합니다.
확장자가 없거나 .sh
를 사용할 수 있습니다.
I 사용 된 셸 (csh, tcsh, bash, sh, …)에 관계없이 개인적으로 다음 규칙을 사용합니다.
- 시스템 또는 고급 스크립트에 대한 확장 없음 (매우 드물게)
- li>
- 클래식 스크립트를위한
.sh
, 낮은 등급에서 높은 등급까지.
댓글
답변
셸 스크립트 확장은 매우 유용합니다. 예를 들어 저는 종종 여러 언어로 된 여러 파일이있는 스크립트를 작성합니다 (예 :bash, awk 및 lua) 같은 디렉토리에 있습니다. bash 파일에서만 문자열을 검색해야하는 경우 확장 기능을 사용하면 오탐을 줄일 수 있습니다. 또는 해당 프로젝트에 대한 모든 bash 코드의 줄 수를 계산하려는 경우.
프로그램을 실행할 때 확장을 입력해야하는 것이 고통스럽기 때문에 확장명이없는 심볼릭 링크도 만듭니다. 매번 확장자를 입력 할 필요없이 편집 / 실행하기위한 기본 실행 파일. Symlink는 저렴하고 쉽습니다.
댓글
답변
다른 사람들이 말했듯이 셸은 “확장자에 대해 신경 쓰지 않습니다. 그러나 파일을 사람이 빠르게 식별 할 수 있습니다. .py
또는
그리고 나는 그것들이 (적어도) 무엇이되어야하는지 빨리 알고 있습니다. Steve가 말했듯이 파일 확장자로 검색하거나 줄 수를 계산하는 것도 실용적인 고려 사항입니다.