バックアップ フォルダの作成
CoddyのTerminalジャーニー「基礎」セクションの一部 — レッスン 76/82。
チャレンジ
簡単次に、ファイルを保存するバックアップフォルダを作成するようにバックアップスクリプトを拡張しましょう。
backup.sh を一から書き直して、更新された完全なスクリプトを保持します。最初の行には > を使用してファイルを置換し、以降の各行の追加には >> を使用します:
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
echo 'backup_dir="backup"' >> backup.sh
echo 'mkdir -p "$backup_dir"' >> backup.sh
echo 'echo "Created backup folder: $backup_dir"' >> backup.shシェルが $source_dir や $backup_dir を値に置き換えずに文字通りファイルに書き込むように、各行はシングルクォートで囲まれています。
次に、実行権限を付与します:
chmod +x backup.sh最後に、入力として documents を渡してスクリプトを実行します。このターミナルは対話型ではないため、入力を求められるのを待つ代わりにパイプでスクリプトに入力を渡します:
echo "documents" | ./backup.sh出力は次のようになります:
Backing up: documents
Created backup folder: backupls を実行してディレクトリの内容を一覧表示し、フォルダが作成されたことを確認します。出力には、他のファイルと一緒に新しい backup フォルダが表示されるはずです。
ヒント:
mkdir -pの-pフラグは、ディレクトリがすでに存在する場合のエラーを防ぎます。安全に処理するために、変数(例:"$backup_dir")の参照はダブルクォートで囲むようにしてください。
自分で試してみよう
ターミナル
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
chmod +x backup.sh
echo "documents" | ./backup.sh