Menu
CoddyTech

타임스탬프 추가

Coddy Terminal 여정의 기초 섹션에 포함된 레슨. 82개 중 78번째.

challenge icon

챌린지

쉬움

타임스탬프를 추가해 백업 폴더 이름을 고유하게 만들어 보세요. 이렇게 하면 이전 폴더를 덮어쓰는 대신 백업할 때마다 새 폴더가 만들어집니다.

backup.sh를 다시 작성해 전체 업데이트된 스크립트를 담도록 하세요(이전 강의의 버전을 보려면 cat backup.sh를 실행하세요).

  1. 이전 강의의 스크립트에서 나머지 모든 줄은 그대로 유지하세요.
  2. 고정된 backup_dir="backup"을 타임스탬프가 포함된 동적 이름으로 바꾸세요.
  3. date 명령과 명령 치환을 사용해 YYYYMMDD_HHMMSS 형식의 타임스탬프를 생성하세요.
  4. 백업 폴더 이름은 backup_[timestamp]여야 합니다.

형식 지정자를 사용한 date 명령으로 타임스탬프를 만들 수 있습니다.

date +%Y%m%d_%H%M%S

명령 치환 $(command)을 사용해 이 출력을 변수에 저장하세요.

timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"

줄마다 echo를 하나씩 사용해 여러 줄 스크립트를 작성해도 되지만, 더 짧은 방법이 있습니다. here document를 사용하면 닫는 단어가 나올 때까지의 모든 내용을 파일에 바로 입력할 수 있습니다.

cat > script.sh << 'EOF'
#!/bin/bash
echo "hello"
EOF

'EOF'를 둘러싼 따옴표는 파일을 작성하는 동안 $variables가 확장되지 않도록 합니다. 스크립트 자체에서 이 변수를 사용하는 경우 이렇게 해야 합니다.

입력으로 documents를 사용해 스크립트를 실행하세요(echo "documents" | bash backup.sh). 출력은 다음과 비슷해야 합니다.

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"를 사용해 동적인 폴더 이름을 만드세요.

직접 해보기

터미널
echo 'cp "$source_dir"/* "$backup_dir"' >> backup.sh
echo 'echo "Files copied successfully"' >> backup.sh
echo "documents" | bash backup.sh
ls backup

기초의 모든 레슨

직접 연습해 보세요: Terminal 플레이그라운드