Menu
Coddy logo textTech

タイムスタンプの追加

CoddyのTerminalジャーニー「基礎」セクションの一部 — レッスン 78/82。

challenge icon

チャレンジ

簡単

タイムスタンプを追加して、バックアップフォルダ名を一意にしましょう。これにより、各バックアップで以前のフォルダを上書きするのではなく、新しいフォルダが作成されるようになります。

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"

スクリプトを実行し、プロンプトが表示されたら 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

基礎のすべてのレッスン