Shell Script 기초 - Bash 프로그래밍



Linux/Unix 환경에서 자동화 스크립트를 작성하기 위한 Bash 셸 스크립트 기초입니다.



기본 문법


#!/bin/bash

# 반복문 예시
for i in {1..10}; do
echo $i
done


스크립트 시작


#!/bin/bash
# 첫 줄은 shebang - 어떤 인터프리터를 사용할지 지정

# 스크립트 실행 권한 부여
chmod +x script.sh

# 실행
./script.sh
# 또는
bash script.sh


변수


# 변수 선언 (= 주위에 공백 없어야 함)
NAME="John"
AGE=25

# 변수 사용
echo "Name: $NAME"
echo "Age: ${AGE}"

# 명령 결과를 변수에 저장
TODAY=$(date +%Y-%m-%d)
FILES=`ls -la`

# 읽기 전용 변수
readonly PI=3.14159


조건문


# if-else
if [ $AGE -ge 18 ]; then
echo "성인입니다"
elif [ $AGE -ge 13 ]; then
echo "청소년입니다"
else
echo "어린이입니다"
fi

# 문자열 비교
if [ "$NAME" = "John" ]; then
echo "Hello John"
fi

# 파일 존재 확인
if [ -f "/path/to/file" ]; then
echo "파일이 존재합니다"
fi

# 디렉토리 확인
if [ -d "/path/to/dir" ]; then
echo "디렉토리가 존재합니다"
fi


반복문


# for 문
for i in 1 2 3 4 5; do
echo $i
done

# range 사용
for i in {1..10}; do
echo $i
done

# C 스타일
for ((i=0; i<10; i++)); do
echo $i
done

# 파일 목록 순회
for file in *.txt; do
echo "Processing $file"
done

# while 문
count=0
while [ $count -lt 5 ]; do
echo $count
((count++))
done


함수


# 함수 정의
greet() {
echo "Hello, $1!"
}

# 함수 호출
greet "World"

# 반환값
add() {
local result=$(($1 + $2))
echo $result
}

sum=$(add 5 3)
echo "Sum: $sum"


입력 받기


echo "이름을 입력하세요: "
read NAME
echo "안녕하세요, $NAME님"

# 스크립트 인자
echo "첫번째 인자: $1"
echo "두번째 인자: $2"
echo "모든 인자: $@"
echo "인자 개수: $#"


비교 연산자










숫자 비교의미
-eq같음
-ne다름
-lt작음
-le작거나 같음
-gt
-ge크거나 같음