반응형
1. 쉘 스크립트 기본 문법
1.1 스크립트 파일 생성 및 실행
1. 파일 생성
touch myscript.sh
2. 파일에 스크립트 작성
#!/bin/bash
echo "Hello, World!"
3. 실행 권한 부여
chmod +x myscript.sh
4. 스크립트 실행
./myscript.sh
1.2 주석
주석은 # 기호로 시작합니다. 스크립트 실행 시 무시됩니다.
# This is a comment
echo "Hello, World!" # This is also a comment
2. 변수와 기본 연산
2.1 변수 선언 및 사용
#!/bin/bash
name="John"
echo "Hello, $name"
2.2 기본 연산
#!/bin/bash
a=10
b=20
sum=$((a + b))
echo "Sum is: $sum"
3. 조건문
3.1 if 문
#!/bin/bash
a=10
b=20
if [ $a -lt $b ]; then
echo "$a is less than $b"
else
echo "$a is not less than $b"
fi
3.2 if-elif-else 문
#!/bin/bash
a=10
b=20
if [ $a -eq $b ]; then
echo "$a is equal to $b"
elif [ $a -lt $b ]; then
echo "$a is less than $b"
else
echo "$a is greater than $b"
fi
4. 반복문
4.1 for 문
#!/bin/bash
for i in 1 2 3 4 5
do
echo "Number: $i"
done
4.2 while 문
#!/bin/bash
count=1
while [ $count -le 5 ]
do
echo "Count: $count"
count=$((count + 1))
done
5. 함수
5.1 함수 정의 및 호출
#!/bin/bash
my_function() {
echo "Hello from the function!"
}
my_function
5.2 매개변수 전달
#!/bin/bash
greet() {
echo "Hello, $1!"
}
greet "Alice"
greet "Bob"
6. 파일 처리
6.1 파일 읽기
#!/bin/bash
filename="example.txt"
while read -r line; do
echo "Line: $line"
done < "$filename"
6.2 파일 쓰기
#!/bin/bash
echo "This is a test file." > output.txt
echo "Appending a line." >> output.txt
예제: 간단한 백업 스크립트
#!/bin/bash
source_dir="/path/to/source"
backup_dir="/path/to/backup"
# 현재 날짜를 가져와서 백업 디렉토리 이름으로 사용
current_date=$(date +"%Y%m%d")
destination="$backup_dir/backup_$current_date"
# 백업 디렉토리 생성
mkdir -p "$destination"
# 파일 복사
cp -r "$source_dir"/* "$destination"
echo "Backup completed successfully."
추가 학습 자료
- 서적: "The Linux Command Line" by William Shotts
- 온라인 자료: GNU Bash Reference Manual
- 튜토리얼: TutorialsPoint Shell Scripting
반응형
'공부 > 리눅스 서버' 카테고리의 다른 글
[Linux] HAProxy loadbalancer configuration (0) | 2024.07.02 |
---|---|
[linux] Locky Linux 8.8 - oracle 21c install (0) | 2023.11.23 |
[linux] MariaDB 삭제 및 재설치 (0) | 2023.03.20 |
[oracle] ORA-31633 expdp error (0) | 2023.03.15 |
[linux] MariaDB 10.6.10 install (0) | 2022.12.15 |
댓글