programing

Bash 파일 확장자는 무엇입니까?

goodsources 2023. 4. 16. 15:02
반응형

Bash 파일 확장자는 무엇입니까?

텍스트 에디터로 bash 스크립트를 작성했습니다.스크립트를 bash 스크립트로 실행하려면 어떤 확장자로 저장해야 합니까?이론상으로는 ssh 서버를 기동하는 스크립트를 작성했습니다.클릭 후 스크립트를 어떻게 실행할지 고민하고 있습니다.OS X 10.9.5를 실행하고 있습니다.

다른 답변과 달리, 일반적인 관례가 있습니다..sh셸 스크립트에 대한 확장 - 그러나 유용한 규칙은 아닙니다.내선번호는 전혀 사용하지 않는 것이 좋습니다.그것을 알 수 있는 것의 장점은foo.sh는 셸 스크립트입니다.그 이름은 최소이기 때문에 유연성이 떨어지기 때문입니다.

bash 스크립트를 실행 가능 상태로 만들려면 상단에 shebang 행이 있어야 합니다.

#!/bin/bash

를 사용합니다.chmod +x명령어를 실행하면 시스템이 실행 파일로 인식됩니다.그런 다음 에 나열된 디렉토리 중 하나에 설치해야 합니다.$PATH. 스크립트가 호출된 경우foo다음으로 셸 프롬프트에서 명령어를 입력하여 실행할 수 있습니다.foo또, 현재의 디렉토리(일시 스크립트의 경우는 공통)에 있는 경우는, 다음과 같이 입력할 수 있습니다../foo.

셸도 운영 체제도 파일 이름의 확장자 부분에 전혀 주의를 기울이지 않습니다.그냥 이름의 일부일 뿐이야.또한 특별한 확장을 부여하지 않음으로써 셸 스크립트(sh, bash, csh 등)나 Perl, Python, Awk 스크립트, 바이너리 실행 파일 등 이 스크립트를 사용하는 모든 사용자(사용자 또는 다른 스크립트)가 이 스크립트의 구현 방법을 신경 쓸 필요가 없습니다.이 시스템은 인터프리터드 스크립트 또는 바이너리 실행 파일 중 하나를 구현 방법을 알거나 신경 쓰지 않고 호출할 수 있도록 특별히 설계되었습니다.

UNIX와 유사한 시스템은 처음에는 순전히 텍스트 명령줄 인터페이스로 시작되었습니다.KDE 및 Gnome과 같은 GUI가 나중에 추가되었습니다.GUI 데스크탑 시스템에서는, 예를 들면, 프로그램을 참조하는 아이콘을 더블 클릭 하는 것으로, 프로그램을 실행할 수 있습니다(스크립트 또는 바이너리 실행 파일).일반적으로 프로그램이 출력할 수 있는 출력은 모두 폐기되고 명령줄 인수를 전달할 수 없습니다.셸 프롬프트에서 실행하는 것보다 훨씬 유연성이 떨어집니다.그러나 일부 프로그램(대부분 GUI 클라이언트)에서는 더 편리할 수 있습니다.

셸 스크립팅은 GUI가 아닌 명령줄에서 학습하는 것이 가장 좋습니다.

(일부 은 파일 확장자에 주의를 기울입니다.예를 들어, 컴파일러는 일반적으로 확장자를 사용하여 코드가 기술된 언어를 결정합니다..cC의 경우,.cpp(c++ 등이 규칙은 실행 파일에는 적용되지 않습니다.)

UNIX(및 UNIX 유사 시스템)는 Windows가 아닙니다.MS Windows 에서는, 통상, 파일의 확장자를 사용해 파일을 열거나 실행하는 방법을 결정합니다.바이너리 실행 파일에는.exe내선 번호Windows 에 UNIX 와 같은 셸이 인스톨 되어 있는 경우는, Windows 가 다음의 기능을 인식하도록 설정할 수 있습니다..sh확장 기능을 셸 스크립트로 사용하여 엽니다.Windows 에는 이 기능이 없습니다.#!관습.

확장자는 필요 없습니다(또는 임의의 확장자를 선택할 수 있습니다)..sh편리한 규칙입니다).

스크립트는 로 시작해야 합니다.#!/bin/bash(이 첫 번째 행은 execve (2) syscall에 의해 이해됩니다).또, 다음의 방법으로 파일을 실행 가능하게 할 필요가 있습니다.chmod u+x따라서 스크립트가 파일에 있는 경우$HOME/somedir/somescriptname.sh한 번 입력해야 합니다.

 chmod u+x  $HOME/somedir/somescriptname.sh

터미널에서명령어는 chmod(1)를 참조하고 syscall은 chmod(2)를 참조해 주세요.

파일 경로 전체를 입력하지 않는 한, 그 파일은, 다음의 URL 에 기재되어 있는 디렉토리에 보존처할 필요가 있습니다.PATH( 「환경(7)」및 「execvp(3)」를 참조해 주세요.이것은, 에서 영속적으로 설정할 수 있습니다.~/.bashrc로그인 셸이bash)

참고로, 다른 언어로 스크립트를 작성할 수 있습니다. 예를 들어 Python에서는 다음을 사용하여 시작할 수 있습니다.#!/usr/bin/python또는 Ocaml에서 다음을 사용하여 시작합니다.#!/usr/bin/ocaml...

(무엇을 더블클릭하여 스크립트를 실행합니까?!)는 데스크톱 환경의 문제이며 데스크톱에 따라 다를 수 있습니다(KDE, Mate, Gnome, ...... 또는 IceWM 또는 RatPoison과 다를 수 있습니다).EWMH 사양을 읽으면 더 나은 이미지를 얻을 수 있을 것입니다.

스크립트를 실행 가능한 상태로 만들 수도 있습니다.chmod데스크톱에서 클릭할 수 있도록 할 수 있습니다(MacOSX에서는 Quartz인 것 같습니다).하지만 아마 시각적인 피드백을 주도록 만들어야 할 겁니다.

또한 일부 컴퓨터에는 ssh를 사용하여 원격으로 액세스하는 경우를 포함하여 데스크톱이 없습니다.

클릭해서 셸 스크립트를 실행하는 것은 좋은 생각이 아닌 것 같습니다.셸 스크립트에 인수를 지정할 수 있어야 합니다(클릭을 하면 어떻게 할 수 있을까요).또, 그 출력에 주의할 필요가 있습니다.셸 스크립트를 쓸 수 있으면 단말기에서 인터랙티브셸을 사용할 수 있습니다.대본 쓰는 가장 자연스럽고 좋은 방법이라고 생각합니다.좋은 인터랙티브 쉘(zsh, 물고기 또는 최근의 셸 등)bash에는 맛있는 자동 완성 기능이 있어 많은 입력을 할 필요가 없습니다(키보드 키 사용법을 익힙니다).또한 스크립트 및 프로그램은 종종 복합 명령어(파이프라인 등)의 일부입니다.

추신. 1986년부터 Unix를, 1993년부터 Linux를 사용하고 있습니다.클릭해서 프로그램이나 스크립트를 기동한 적은 없습니다.내가 왜 그래야 돼?

★★★★★★★★★★★★★★★★★..sh.

스크립트를 다음과 같이 실행합니다.

./script.sh

편집: anubhava가 말했듯이 확장자는 그다지 중요하지 않습니다.단, 조직상의 이유로 확장기능을 사용하는 것이 좋습니다.

나는 이것이 꽤 오래되었다는 것을 알지만 나는 이것이 질문의 의미를 더하는 것 같다.

할 수 , 「Mac」를 사용할 ..command또한 파일을 실행 상태로 만듭니다.chmod -x

앞에서 설명한 바와 같이 이것은 그다지 유용한 tbh는 아닙니다.

TL;DR - 스크립트의 사용자(개발자일 필요는 없음)가 GUI 인터페이스를 사용하는 경우, 사용하는 파일 브라우저에 따라 다릅니다.에는 MacOS의 Finder가 합니다..sh이치노 Nautilus 는, 「Gnome Nautilus」의 sebanged shebanged 의 , 합니다..sh내선 번호

bash 스크립트에서 확장을 사용하는 이유에 대해서는 이미 여러 번 언급되었지만 확장을 사용하는 이유나 사용하지 않는 이유만큼은 아닙니다. 하지만 저는 경험상 좋은 규칙이 있다고 생각합니다.

하지 않는 하고 있는 "bash"를 넣으세요..sh스크립트의 .이 경우 해당 스크립트 사용자는 GUI 파일브라우저에서 해당 파일을 더블 클릭하여 스크립트를 실행할 수 있습니다.

주로 터미널에서 모든 작업 또는 대부분의 작업을 수행하는 타입이라면 bash 스크립트에 확장자를 붙일 필요가 없습니다.. 미미면면 면면면면 츠키~/.bashrc스크립트를 디렉토리와 시각적으로 구별하기 위한 파일입니다.

편집:

창(Gnome Nautilus)을 여는 를 사용하여 4개의 파일(각 파일 실행 권한 을에서 4개의 테스트 파일각 파일 실행 권한 을 사용할 수 있습니다.gnome-terminal

  1. 가 , "" " " "#!/bin/bash맨 앞줄에

    파일을 더블클릭하면 동작했습니다.

  2. 음음음 with with a with with파일.sh에 「」가 붙어 있습니다.#!/bin/bash맨 앞줄에

    파일을 더블클릭하면 동작했습니다.

  3. (NO)#!/bin/bash맨 앞줄에

    파일을 두 번 클릭하면 작동했습니다...GUI에서는 셸 스크립트임을 알 수 없었습니다.그냥 평범한 텍스트 파일이라고 했어요.

  4. 음음음 with with a with with파일.sh#!/bin/bash맨 앞줄에

    파일을 더블클릭하면 동작했습니다.

이 답변의 톰슨이 했듯이, 키스 톰슨(Keith Thompson)은에하여 '키스 톰슨(Keith Thompson)'을 사용한다..sh첫 (bash shebang)#!/bin/bash 수 .) 문제가 발생할 수 있습니다.

에 MacOS 를 에, MacOS 의 스크립트가 , 「MacOS」는 「Bash」(「Bash」)가 되어 있지 않았던 합니다..shMacOS의 GUI를 사용합니다.이치노할 수 있습니다.이에는, 「 」, 「 」, 「 」, 「 」, 「 」, 「 」, 「 」, 「 」, 「 」, 「 」가 있습니다..sh내선번호가 중요합니다.

언급URL : https://stackoverflow.com/questions/27813563/what-is-the-bash-file-extension

반응형