Shell Script 란?
- 쉘 스크립트는 쉘에게 무슨 명령들을 실행할지 알려주는 스크립트 파일이다.
- Unix 커맨드들을 파일로 모아둔 것이라 생각하면 편하다.
Shell Script 기본
우선 hello.sh 파일을 생성한다
vi test.sh
test.sh 파일은 쉘 스크립트라는 것을 알려주기 위해 첫 행에는 꼭 #! /bin/sh 를 써주어야 한다!
#!/bin/sh
echo "Hello World"
내용을 다 입력 했으면 파일을 저장 하고, 파일이 저장 된 위치로 이동한다.
쉘 스크립트 파일을 실행 시키는 커맨드는 세가지가 있다.
1. ./
./test.sh 를 사용하려면 실행 권한을 부여 해 주어야 한다.
test.sh 파일의 권한을 확인 해 보면 실행 권한이 없기 때문에 chmod로 권한을 부여 해주지 않으면 Permission denied 오류가 뜬다.
chmod 755 test.sh
./test.sh
실행 권한을 부여 해준 뒤 ./test.sh 로 파일을 실행 시키려면
쉘 스크립트 파일이 잘 실행 되는 것을 확인 할 수 있다
2. sh
sh 커맨드를 통해 쉘 스크립트를 실행 시킬 때에는 chmod로 실행 권한을 부여하지 않아도 쉘 스크립트가 실행 된다.
sh test.sh
3. bash
bash 커맨드도 sh 커맨드와 동일하게 실행 권한 부여를 하지 않아도 쉘 스크립트 파일이 실행 된다.
bash test.sh
주석 처리와 입/출력
# 를 입력 한 뒤 내용을 작성 하면, 그 내용은 코멘트 처리 되어 출력 되지 않는다. 주석 처리라고 생각 하면 된다.
코멘트 처리 된 내용들은 출력이 되지 않는 것을 확인 할 수 있다
쉘 스크립트에서도 입력과 출력이 가능하다.
read를 통해 입력 한 뒤, echo로 입력 받은 내용을 출력 한다
위와 같이 작성 한 쉘 스크립트를 실행 하면
다음과 같은 결과를 확인 할 수 있다
아무런 값을 입력하지 않으면 echo 커맨드는 실행 되지 않아 아무것도 출력 되지 않는다.
변수
변수명에는 영어, 숫자, 언더바를 사용 할 수 있다. 또한 변수를 초기화 할 때에는 앞 뒤 공백 없이 작성 해야 한다!
하나의 변수에는 하나의 값만을 저장 한다.
변수에 엑세스 할 때에는 변수명 앞에 $를 붙이거나 $를 입력 후 {}로 감싼다.
쉘 스크립트를 실행하면 위와 같은 결과를 확인 할 수 있다
배열
bash shell로 배열을 작성 해보자
- 쉘 스크립트에서는 데이터 타입이 달라도 배열에 함께 쓸 수 있다.
- 인덱스를 지정하지 않으면 첫번째 값만 출력 한다.
연산자
shell script에서는 산수 연산도 가능 하다!
산수 연산자 | 기능 |
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
\* | 제곱 |
/ | 나눗셈 |
% | 나머지 |
== | 같다 |
!= | 다르다 |
비교 연산자 | 의미 |
-eq | 같다 |
-ne | 다르다 |
-gt | 더 크다 |
-lt | 더 작다 |
-ge | 크거다 같다 |
-le | 작거나 같다 |
비교 연산자를 사용 할 때에는 if 문을 사용해야 한다.
#!/bin/bash
a=10
b=10
if [ $a -eq $b];
then
echo "a equal to b"
fi
변수 a와 b가 같다면 a equal to b를 출력한다.
a=b 이기 때문에 a equal to b가 출력 된 것을 확인 할 수 있다!
'operating system > linux' 카테고리의 다른 글
[리눅스] grep 명령어 & 정규표현식 (0) | 2022.12.20 |
---|---|
리눅스 DHCP 서버 구성하기(Server/Client) (0) | 2022.10.25 |
Linux Mail Server - 1. SMTP, POP3, IMAP (0) | 2022.10.24 |
RR(Round Robin) DNS 설정 (0) | 2022.10.24 |
DNS(Domain Name Service) (0) | 2022.10.20 |