programing tip

터미널에서 bash 스크립트를 어떻게 실행합니까?

itbloger 2020. 9. 18. 07:51
반응형

터미널에서 bash 스크립트를 어떻게 실행합니까?


다음과 같은 bash 스크립트가 있습니다.

#!/bin/bash

echo Hello world!

터미널에서 어떻게 실행합니까?


$prompt: /path/to/scriptEnter를 누르십시오. 스크립트에 실행 권한이 있는지 확인해야합니다.


실행하는 또 다른 방법 (이번에는 실행 권한을 설정하지 않고) :

bash /path/to/scriptname

다음과 같이 할 수 있습니다.
sh scriptname.sh


스크립트가있는 디렉토리로 이동하거나 $ PATH에있는 bin 폴더에 넣으십시오.

그런 다음 입력

./scriptname.sh

같은 디렉토리에 있거나

scriptname.sh

bin 폴더에있는 경우.


먼저 다음을 사용하여 실행 가능하게 만들어야합니다 chmod +x name_of_your_file_script..

실행 가능하게 만든 후 다음을 사용하여 실행할 수 있습니다. ./same_name_of_your_file_script


cd 명령 을 사용하여 스크립트가있는 디렉토리로 변경하십시오.

그런 다음 입력

bash program-name.sh

이것은 오래된 스레드이지만 나는 그것을 통해 일어 났고 아무도 아직 완전한 대답을하지 않은 것에 놀랐습니다. 그래서 여기 간다 ...

명령 줄 스크립트 실행 자습서!

Q : 터미널에서 어떻게 실행합니까?

혼란과 갈등 :

  • '확장자'(예 : .sh, .py 또는 기타)는 필요 하지 않지만 추적하는 데 도움이됩니다. 아프지 않을 것입니다. 그러나 스크립트 이름에 확장자가 포함되어 있으면이를 사용해야합니다.
  • 어떤 이유로 든 특정 디렉토리에있을 필요 없습니다 .
  • 원하는 경우가 아니면 파일을 실행하는 프로그램 (BASH 또는 Python 등)의 이름을 입력 할 필요 없습니다 . 아프지 않을 것입니다.
  • 이 작업 을 수행 할 필요 없습니다sudo . 이 명령은 다른 사용자 또는 '루트'(관리자) 사용자로 명령을 실행하기 위해 예약되어 있습니다. 여기에 좋은 게시물 .

(스크립트 실행 방법을 배우는 사람은 새 프로그램을 설치하는 것과 같은 실제 필요가없는 한이 명령을 사용하지 않아야합니다. 스크립트를 넣을 수있는 좋은 위치는 ~ / bin 폴더입니다. 입력 cd ~/bin하거나 cd $HOME/bin터미널 프롬프트에서. 해당 폴더에 대한 전체 권한을 갖게됩니다.)

Unix / Linux 유형 시스템의 터미널에서 "이 스크립트를 실행"하려면 다음 세 가지를 수행해야합니다.

  1. 시스템에 스크립트의 위치를 ​​알려줍니다. (하나를 선택)

    • 스크립트 이름과 함께 전체 경로를 입력합니다 (예 :) /path/to/script.sh. pwd또는 echo $PWD터미널 에 입력하여 전체 경로를 확인할 수 있습니다 .
    • 동일한 디렉토리에서 실행 ./하고 경로 (예 :)에 사용 합니다 ./script.sh. 쉬운.
    • 시스템에있는 디렉토리에 스크립트를 PATH넣고 이름 (예 :)을 입력하기 만하면 script.sh됩니다. PATH입력 echo $PATH하거나 echo -e ${PATH//:/\\n}더 깔끔한 목록을 원하는 경우 시스템 확인할 수 있습니다 .
  2. 스크립트에 실행 권한이 있음을 시스템에 알립니다. (하나를 선택)

    • chmod +x /path/to/script.sh터미널 에 입력하여 "실행 비트"를 설정합니다 .
    • chmod 755 /path/to/script.sh숫자를 선호 하는 경우 에도 사용할 수 있습니다 . 여기에 멋진 차트에 대한 훌륭한 토론이 있습니다 .
  3. 시스템에 스크립트 유형을 알립니다. (하나를 선택)

    • 스크립트 앞에 프로그램 이름을 입력하십시오. (예 : BASH /path/to/script.sh또는 PHP /path/to/script.php) 스크립트에 .php 또는 .py와 같은 확장자가있는 경우 스크립트 이름의 일부이며 반드시 포함해야합니다.
    • Use a shebang, which I see you have (#!/bin/bash) in your example. If you have that as the first line of your script, the system will use that program to execute the script. No need for typing programs or using extensions.
    • Use a "portable" shebang. You can also have the system choose the version of the program that is first in the PATH by using #!/usr/bin/env followed by the program name (e.g. #!/usr/bin/env bash or #!/usr/bin/env python3). There are pros and cons as thoroughly discussed here.

If you are in a directory or folder where the script file is available then simply change the file permission in executable mode by using the "chmod +x your_filename". After that you will run the script by using the following command. "$ sudo ./your_filename.sh" Above the "." represent the current directory. Note! If you are not in the directory where the bash script file is present then you change the directory where the file is located by using "cd Directory_name/write the complete path" command. Otherwise your script can not run.

참고URL : https://stackoverflow.com/questions/2177932/how-do-i-execute-a-bash-script-in-terminal

반응형