쉘 스크립트(Shell Script)는 UNIX/Linux 시스템에서 명령어를 실행하기 위해 작성된 스크립트 파일로, 명령어의 조합을 통해 특정 작업을 자동화하거나 반복적인 작업을 효율적으로 수행할 수 있게 한다. 쉘 스크립트는 쉘(Shell)이라고 불리는 명령어 해석기가 읽고 실행한다. 대표적인 쉘로는 bash(Bourne Again Shell), zsh(Z Shell), ksh(Korn Shell) 등이 있다.
쉘 스크립트 파일은 .sh 확장자를 가지며, 첫 번째 줄에 해석기 경로를 명시하는 Shebang이 들어간다.
#!/bin/bash
# 또는
#!/bin/zsh
쉘 스크립트에서 # 기호를 사용하여 주석을 작성한다. 주석은 코드에 대한 설명이나 메모를 남길 때 사용된다.
#!/bin/bash
# 이 코드는 "Hello, World!"를 출력합니다.
echo "Hello, World!"
쉘 스크립트에서 변수를 선언하고 사용하려면, = 기호를 사용한다. 변수명과 값 사이에 공백을 두지 않는다.
#!/bin/bash
name="Alice"
age=25
변수를 사용할 때는 $ 기호를 사용한다.
echo "이름: $name"
echo "나이: $age"
쉘 스크립트에서 시스템 명령어를 실행할 수 있다.
#!/bin/bash
echo "현재 디렉토리:"
pwd
echo "디렉토리 내용:"
ls -l
쉘 스크립트는 조건문과 반복문을 지원한다.
#!/bin/bash
num=10
if [ $num -gt 5 ]; then
echo "$num은 5보다 큽니다."
else
echo "$num은 5보다 작거나 같습니다."
fi
-eq: 같음-ne: 같지 않음-lt: 작음-le: 작거나 같음-gt: 큼-ge: 크거나 같음#!/bin/bash
for i in 1 2 3 4 5; do
echo "숫자: $i"
done
#!/bin/bash
count=1
while [ $count -le 5 ]; do
echo "카운트: $count"
count=$((count + 1))
done
함수는 코드의 재사용성을 높이기 위해 사용된다.
#!/bin/bash
greet() {
echo "안녕하세요, $1님!"
}
greet "Alice"
greet "Bob"
#!/bin/bash
echo "이름을 입력하세요:"
read name
echo "반갑습니다, $name님!"
> (파일로 출력)< (파일로 입력)echo "Hello" > output.txt # output.txt 파일에 "Hello" 저장
cat < input.txt # input.txt 파일 내용 읽기
쉘 스크립트에서 제공하는 특별한 변수:
$0: 스크립트 파일 이름$1, $2, ...: 스크립트 실행 시 전달된 인수$#: 전달된 인수의 개수$@: 전달된 모든 인수$?: 마지막 명령어의 종료 상태 (0은 성공, 0이 아닌 값은 실패)#!/bin/bash
echo "스크립트 이름: $0"
echo "첫 번째 인수: $1"
echo "총 인수 개수: $#"
쉘 스크립트를 실행하려면:
chmod +x script.sh
./script.sh
쉘 스크립트는 단순한 명령어 실행부터 복잡한 자동화까지 폭넓게 활용될 수 있다. 필요에 따라 더 고급 문법이나 도구를 추가적으로 학습해 나갈 수 있다.