타임스탬프 추가
Coddy Terminal 여정의 기초 섹션에 포함된 레슨 — 82개 중 78번째.
챌린지
쉬움타임스탬프를 추가하여 백업 폴더 이름을 고유하게 만들어 보겠습니다. 이렇게 하면 각 백업이 이전 폴더를 덮어쓰는 대신 새 폴더를 생성하게 됩니다.
backup.sh를 다음과 같이 수정하세요:
- 이전 레슨의 모든 기존 코드를 유지합니다.
- 정적인
backup_dir="backup"을 타임스탬프를 포함하는 동적 이름으로 바꿉니다. date명령어와 함께 명령어 치환(command substitution)을 사용하여YYYYMMDD_HHMMSS형식의 타임스탬프를 생성합니다.- 백업 폴더의 이름은
backup_[timestamp]가 되어야 합니다.
형식 지정자를 사용한 date 명령어는 타임스탬프를 생성합니다:
date +%Y%m%d_%H%M%S명령어 치환 $(command)을 사용하여 이 출력을 변수에 캡처합니다:
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"스크립트를 실행하고 프롬프트가 표시되면 documents를 입력하세요. 출력은 다음과 같아야 합니다:
Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully출력되는 타임스탬프는 현재 날짜와 시간에 따라 달라집니다.
힌트:
backup_dir을 정의하기 전에timestamp=$(date +%Y%m%d_%H%M%S)를 추가한 다음,backup_dir="backup_$timestamp"를 사용하여 동적 폴더 이름을 생성하세요.
직접 해보기
터미널
cat > backup.sh << 'EOF'
#!/bin/bash
read -p "Enter source directory: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup"
mkdir -p "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"
echo "Files copied successfully"
EOF
echo "documents" | bash backup.sh
ls backup