Contents
see List작성일 2025. 11. 30.
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 | 크거나 같음 |
os
| No | 작성일 | Title |
|---|---|---|
| 2901 | 2026. 05. 28. | systemd 서비스 하드닝 실전 가이드: 권한·파일시스템·네트워크 접근 줄이기 |
| 2843 | 2026. 05. 20. | Linux 서버 로그 운영 실전 가이드: journald 영구 저장, 용량 제한, logrotate 점검법 |
| 2643 | 2026. 04. 29. | Kubernetes v1.36 Haru 완전 가이드: AI 워크로드 DRA, User Namespaces GA, PSI Metrics 실전 적용 |
| 2566 | 2026. 04. 21. | systemd 260 + Linux 6.19 핵심 신기능 완전 가이드: mstack, sched_ext, Varlink Metrics 실전 적용 |
| 2496 | 2026. 04. 14. | Linux 시스템 관리 완벽 가이드: systemd 258, Kernel 6.x, 현대적 CLI 명령어 |
| 2475 | 2026. 04. 13. | Linux 시스템 관리 2026 완벽 가이드: systemd, journalctl, 성능 튜닝, 보안 설정 |
| 2455 | 2026. 04. 12. | Linux 커널 6.12/6.13 신기능 완전 분석: PREEMPT_RT, sched_ext, Rust 통합 |
| 2431 | 2026. 04. 11. | macOS defaults 명령어로 숨겨진 설정 마스터하기 |
| 2395 | 2026. 04. 09. | macOS/Linux 터미널 고급 명령어 가이드 - 프로세스 관리, 네트워크 진단, 시스템 모니터링 |
| 2374 | 2026. 04. 08. | Linux 시스템 관리 실전 가이드 2025: 커널 최적화, 보안 강화, 자동화 명령어 총정리 |