반응형
Bash 스크립트 실습
파일들을 처리하면서 디버깅 기능을 사용하는 스크립트를 만들어보겠습니다. 예를 들어, 특정 디렉터리 내의 텍스트 파일을 다른 디렉터리로 복사하는 스크립트를 작성합니다.
실습 예제: 파일 백업 스크립트
스크립트 작성
아래와 같은 내용을 포함하는 Bash 스크립트를 작성합니다. 파일 이름은 backup.sh
로 저장합니다.
#!/bin/bash
# 디렉터리 설정
source_dir="/home/easyfly/GIT/HtmlCSS"
backup_dir="/home/easyfly/BACKUP"
# 디버깅 활성화
set -x
# 백업 디렉터리 존재 여부 확인 및 생성
if [ ! -d "$backup_dir" ]; then
mkdir -p "$backup_dir"
echo "Backup directory created."
fi
# 디렉터리 내 파일 복사
for file in "$source_dir"/*.txt; do
cp "$file" "$backup_dir"
echo "Copied $file to $backup_dir"
done
# 디버깅 비활성화
set +x
echo "Backup completed."
스크립트 실행 권한 부여
터미널을 열고 스크립트 파일이 있는 디렉터리로 이동합니다. chmod
명령어를 사용하여 스크립트에 실행 권한을 부여합니다.
chmod +x backup.sh
스크립트 실행
스크립트를 실행합니다. 실행하기 전에 source_dir
과 backup_dir
경로를 실제 경로로 변경해야 합니다.
./backup.sh
디버깅 확인
스크립트 실행 결과를 확인합니다. 디버깅이 활성화된 구간에서는 명령어 실행 전후의 상세한 디버깅 정보를 볼 수 있습니다. 백업 디렉터리가 없는 경우는 생성부터 합니다.
+ '[' '!' -d /home/easyfly/BACKUP ']'
+ mkdir -p /home/easyfly/BACKUP
+ echo 'Backup directory created.'
Backup directory created.
+ for file in "$source_dir"/*.txt
+ cp '/home/easyfly/GIT/HtmlCSS/*.txt' /home/easyfly/BACKUP
cp: '/home/easyfly/GIT/HtmlCSS/*.txt' 상태 정보 확인 불가: 그런 파일이나 디렉터리가 없습니다
+ echo 'Copied /home/easyfly/GIT/HtmlCSS/*.txt to /home/easyfly/BACKUP'
Copied /home/easyfly/GIT/HtmlCSS/*.txt to /home/easyfly/BACKUP
+ set +x
Backup completed.
이 출력 결과에서 +
로 시작하는 줄은 디버깅 정보로, 명령어가 실행되기 전과 후의 상태를 보여줍니다.
정리
- 현실적인 예제로 디렉터리 내의 파일을 백업하는 스크립트를 작성하였습니다.
set -x
명령어로 디버깅을 활성화하고set +x
명령어로 디버깅을 비활성화하여 스크립트 실행 과정의 상세 정보를 확인할 수 있습니다.- 이 스크립트를 통해 파일 복사 작업과 디버깅 기능을 실습할 수 있습니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
[리눅스 팁] 터미널에서 계산을 하려면 (33) | 2024.06.18 |
---|---|
도메인 만료 일자 확인하기 (36) | 2024.06.16 |
Bash 스크립트 심화 (34) | 2024.06.07 |
Bash 스크립트 기초 (2) | 2024.06.06 |
[리눅스팁] FD(File & Directory tool)의 여러 기능 (38) | 2024.06.05 |