터미널에서 bash 스크립트를 실행하려면 어떻게 해야 합니까?
다음과 같은 bash 스크립트가 있습니다.
#!/bin/bash
echo Hello world!
터미널에서 어떻게 실행합니까?
실행 권한을 설정하지 않고 실행할 수 있는 또 다른 방법:
bash /path/to/scriptname
$prompt: /path/to/script
Enter 키를 누릅니다.스크립트에 실행 권한이 있는지 확인해야 합니다.
스크립트가 들어 있는 디렉토리에 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
'programing' 카테고리의 다른 글
UI 내비게이션 컨트롤러에서 "뒤로" 버튼을 숨기는 방법은 무엇입니까? (0) | 2023.05.29 |
---|---|
파일 시스템이 아닌 데이터베이스에 파일을 저장하시겠습니까? (0) | 2023.05.29 |
iOS에서 UIImageView에서 이벤트를 프로그래밍 방식으로 클릭합니다. (0) | 2023.05.29 |
Git는 언제 원격 지점 목록을 새로 고칩니까? (0) | 2023.05.29 |
Excel VBA 앱이 자동으로 중지되고 "코드 실행이 중지되었습니다" 메시지가 표시됨 (0) | 2023.05.29 |