Bash 셸 스크립트의 기본 형태와 실행 방법

sun30812·2021년 11월 22일
0

Bash셸 프로그래밍

목록 보기
1/1

아마 리눅스를 사용하는 분이라면 많이 접해보았을 셸 이다. 이번에는 bash셸 프로그래밍을 하는것에 대해 알아보려 한다. 일반적인 한 번의 작업을 수행할 때에는 echo 같이 명령어를 한 번 쓰면 된다. 그러나 본인이 만일 주기적으로 여러 명령어들을 사용한다면 그것을 프로그래밍 하는 것이 도움이 된다. 우리는 프로그래밍 하여 나온 코드(결과물)을 스크립트 파일이라 부른다.

이번 포스트에서는 기본적인 스크립트의 형태와 실행 방법에 대해 이야기하겠다.

기본 형태

스크립트 파일의 확장자는 .sh 로 끝난다. 반드시 그래야 하는 것은 아니지만 일반적으로는 .sh 확장자를 사용한다.

스크립트의 첫 줄에는 어떤 셸로 실행을 할 지 알려주기 위해 #!/bin/bash 가 나오고 그 뒤에 원하는 명령어들을 적는 것이 기본 형태이다. 이 역시 필수는 아니지만 Linux에는 여러개의 셸들이 존재한다. bash기준 문법을 사용하여 프로그래밍을 하면 다른 셸을 사용하는 환경에서는 정상 동작을 보증할 수 없다는 의미이다.

따라서 본인은 첫 줄에 #!/bin/bash 를 써주는 것을 적극 권장한다.

위 사항들을 전부 따르면 아래와 같은 형태가 나온다.

#!/bin/bash
# 사용자 홈 디렉터리의 파일 및 폴더를 출력하는 스크립트
echo "Today will be a good day!"
echo "Your Home directories.."
cd ~
ls -al

나중에 언급 하겠지만 # 은 한 줄을 주석으로 작성할 때 쓴다.

실행 방법

스크립트를 만들었으면 실행을 해야하지 않겠는가. 실행의 방법은 여러가지가 존재한다.

sh 명령어로 실행

스크립트 파일을 실행할 때 사용하는 명령어이다. sh myScript.sh 로 수행하면 된다.

실행 파일처럼 실행

셸 스크립트를 실행파일 처럼 취급해도 된다.

./myScript.sh 라 입력하면 해당 스크립트가 실행된다. 이 방식으로 실행하려면 해당 스크립트에 실행 권한이 있어야 한다.

파일에 실행 권한을 부여하기 위해서는 chmod u+x myScript.sh를 터미널에 입력하면 된다.(해당 명령어는 파일의 소유자에 대해서만 실행 권한을 부여해준다. 더 많은 내용을 알고자 하면 Linux의 소유권과 권한에 대해 검색하길 바란다.)

Source명령어로 실행

이 작업을 실행하기 전에 각별히 주의할 점이 있다.

source 명령어는 스크립트에서 작성한 변수들이 스크립트가 종료된 이후에도 적용되어있다. 이것이 문제가 된다면 이 방법으로는 스크립트를 실행하지 말자.

source myScript.sh 명령어를 입력하거나 . myScript.sh 를 입력하면 된다. sh 명령어 처럼 이 경우도 스크립트 파일에 실행권한이 없어도 가능하다.

위에 소개한 세가지의 방법으로 실행해도 되지만, 관리자로써 Linux를 사용하다 보면 특정 시간마다 주기적으로 스크립트를 실행하고 싶을 수 있다. 그렇다면 cron 을 사용해보라. cron은 정해진 스케쥴에 맞추어 명령어나 스크립트를 실행해주는 친구이다. crontab 명령어를 통해 설정을 해 줄수 있다. cron에 대한 내용은 검색을 해보면 많이 나오니 필요하면 찾아보길 바란다.

profile
컴퓨터 관련 전공을 하고있는 평범한 대학생입니다. 잘 부탁 드립니다!

0개의 댓글