programing

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

javaba 2023. 5. 29. 21:31
반응형

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

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

#!/bin/bash

echo Hello world!

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

실행 권한을 설정하지 않고 실행할 수 있는 또 다른 방법:

bash /path/to/scriptname

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

스크립트가 들어 있는 디렉토리에 cd를 넣거나 $PATH에 있는 bin 폴더에 넣습니다.

그다음 타자

./scriptname.sh

동일한 디렉토리에 있거나

scriptname.sh

빈 폴더에 있으면 됩니다.

이것은 오래된 실타래인데 우연히 발견했는데 아직 아무도 완전한 답을 내놓지 않은 것이 놀랍습니다.자, 이제...

명령줄 스크립트 실행 튜토리얼!

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

답은 아래와 같습니다만, 먼저...만약 당신이 이 질문을 하고 있다면, 여기 당신이 가는 길에 도움이 될 몇 가지 다른 조언들이 있습니다.

혼동 및 충돌:

더 패스

  • 경로를 이해하는 것(완전성을 위해 세 의 사람이 추가)은 중요합니다."경로"는 젠과 같은 해커 코안 같은 소리를 내지만 명령 프롬프트에서 알 수 없는 명령을 입력하면 자동으로 검색되는 디렉터리(폴더) 목록일 뿐입니다.몇 가지 명령어, 예를 들어ls기본 제공 프로그램일 수도 있지만 대부분의 명령은 실제로 별도의 작은 프로그램입니다.(여기서 "유닉스의 젠"이 등장합니다... (i) 각 프로그램이 한 가지 일을 잘 수행하도록 하십시오.)

확장 기능

  • 많은 사람들이 기억하는 이전의 DOS 명령 프롬프트와 달리, '확장자'(예: .sh 또는 .py 또는 기타)는 필요하지 않지만, 이 명령은 상황을 추적하는 데 도움이 됩니다.그것은 실제로 인간만이 참조로 사용할 수 있는 것이며 대부분의 명령줄과 프로그램은 전혀 신경 쓰지 않을 것입니다.해로울 건 없을 거에요.그러나 스크립트 이름에 확장자가 포함된 경우에는 확장자를 사용해야 합니다.파일 이름의 일부입니다.

디렉터리 변경

  • 어떤 이유로든 특정 디렉토리에 있을 필요는 없습니다.그러나 디렉터리가 경로에 없는 경우(유형)echo $PATH확인하려면), 그런 다음 포함해야 합니다.하려면 현디터리스실를면려행하를 합니다../그 전에이것../이것은 '여기 현재 디렉터리에 있다'라는 의미입니다.

프로그램 이름 입력

  • 파일을 실행하는 프로그램 이름(BASH, Python 또는 기타)을 입력할 필요가 없습니다.아프지는 않겠지만 조금 다른 결과가 나올 수도 있습니다.

SUDO

  • 필요 없습니다.sudo이 모든 것을 할 수 있습니다.이 명령은 다른 사용자 또는 '루트'(관리자) 사용자로 명령을 실행하기 위해 예약됩니다. 스크립트 sudo일을 망칠 위험이 훨씬 큽니다그래서 만약 당신이 사용하는 정확한 이유를 모른다면,sudo사용하지 마세요.좋은 게시물입니다.

스크립트 위치...

  • 는 스크트저좋위에 .~/bin 폴더를 누릅니다.
  • 입력하면 됩니다.
# A good place to put your scripts is in your ~/bin folder.

> cd ~/bin # or cd $HOME/bin

> ls -l

소유자 및 권한이 있는 목록이 표시됩니다.이 디렉터리의 모든 파일을 '소유'하고 있음을 알게 됩니다.사용자는 이 디렉토리를 완전히 제어할 수 있으며 다른 사용자는 디렉토리를 쉽게 수정할 수 없습니다.

이 파일이 없는 경우 다음을 생성할 수 있습니다.

> mkdir -p ~/bin && cd ~/bin
> pwd

/Users/Userxxxx/bin


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

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

# type the name of the script with the full path
> /path/to/script.sh

# execute the script from the directory it is in
> ./script.sh

# place the script in a directory that is on the PATH
> script.sh

# ... to see the list of directories in the path, use:
> echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# ... or for a list that is easier to read:
> echo -e ${PATH//:/\\n}
# or
> printf "%b" "${PATH//:/\\n}"
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin

스크립트 실행 권한이 있음을 시스템에 알립니다. (하나 선택)

# set the 'execute' permissions on the script
> chmod +x /path/to/script.sh

# using specific permissions instead
# FYI, this makes these scripts inaccessible by ANYONE but an administrator
> chmod 700 /path/to/script.sh

# set all files in your script directory to execute permissions
> chmod +x ~/bin/*

여기에는 멋진 차트와 함께 권한에 대한 훌륭한 논의가 있습니다.

시스템에 스크립트 유형을 알려줍니다. (하나 선택)

  • 스크립트 앞에 프로그램 이름을 입력합니다.(참고: 이 방법을 사용할 때는 execute(chmod 위의 것)가 필요하지 않습니다.
> bash /path/to/script.sh
... 

> php /path/to/script.php
... 

> python3 /path/to/script.py
...
  • 쉐방을 사용하세요, 당신이 가지고 있는 것을 봅니다.#!/bin/bash예를 들어 ).스크립트의 첫 번째 줄로 이 프로그램을 사용하면 시스템이 해당 프로그램을 사용하여 스크립트를 실행합니다.프로그램을 입력하거나 확장자를 사용할 필요가 없습니다.
  • "휴대용" 셰방을 사용합니다.또한 시스템이 첫 번째 버전의 프로그램을 선택하도록 할 수 있습니다.PATH을 이용하여#!/usr/bin/env이름 뒤에 ( 램이예름그프로예(름:이▁followed▁the램▁by▁name▁programe▁()가 붙습니다.#!/usr/bin/env bash또는#!/usr/bin/env python3). 여기서 충분히 논의된 바와 같이 찬반양론이 있습니다.

참고: 이 "휴대용" 셰방은 보기만큼 휴대하기 어려울 수 있습니다.50년 이상 된 사람들과 마찬가지로, 여러분이 기대하는 방식으로 결코 풀리지 않는 수많은 옵션들에 빠져 있습니다.격론이 벌어지고 있습니다.제가 본 가장 최근의 아이디어는 사실 대부분의 아이디어와 상당히 다른 "휴대용" 펄뱅입니다.

#!/bin/sh
exec perl -x "$0" "$@"
#!perl

은 할 수
sh scriptname.sh

다음을 사용하여 할 수 합니다.chmod +x name_of_your_file_script.

파일로 에는 실행파만후다사실수있행다습니할여용을 사용하여 할 수 ../same_name_of_your_file_script

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

다음 입력

bash program-name.sh

그리고 또 하나의 방법은

. /path/to/script

점의 의미는 무엇입니까?

스크립트 파일을 사용할 수 있는 디렉토리 또는 폴더에 있는 경우 다음을 수행하여 실행 가능한 모드에서 파일 권한을 변경합니다.

chmod +x your_filename.sh

그런 다음 다음 명령을 사용하여 스크립트를 실행합니다.

$ sudo ./your_filename.sh

"." 위는 현재 디렉토리를 나타냅니다.참고! bash 스크립트 파일이 있는 디렉토리에 없는 경우 다음을 사용하여 파일이 있는 디렉토리를 변경합니다.

cd Directory_name/write the complete path

지휘권그렇지 않으면 스크립트를 실행할 수 없습니다.

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

반응형