成功提示
本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 79 课,共 82 课。
挑战
简单我们来完善这个备份脚本,添加一条最终成功消息,总结备份了什么。
修改 backup.sh,完成以下操作:
- 保留上一课中的所有现有代码(工作区中的
backup.sh就是那个版本,如下所示) - 在 "Files copied successfully" 消息后添加一行最终摘要
- 打印:
Backup complete: [source_dir] -> [backup_dir]
上一课结束时的脚本如下:
#!/bin/bash
read -p "Enter directory to backup: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup_$(date +%Y%m%d_%H%M%S)"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"/
echo "Files copied successfully"最快的修改方法是用 cat > backup.sh << 'EOF' ... EOF 重写整个文件,并在结尾的 EOF 之前添加新的一行。
运行脚本,并在提示时输入 documents。输出应该如下所示:
Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully
Backup complete: documents -> backup_20240115_143052输出中的时间戳会根据当前日期和时间而有所不同。
恭喜!你已经编写了一个完整的备份脚本,它可以:
- 提示用户输入源文件夹
- 创建带时间戳的备份文件夹
- 将所有文件复制到备份文件夹
- 在每个步骤提供清晰的反馈
提示:在脚本末尾添加
echo "Backup complete: $source_dir -> $backup_dir",以显示最终摘要消息。
亲手试试
终端
cat > backup.sh << 'EOF'
#!/bin/bash
echo "Enter folder to backup:"
read folder
echo "Backing up: $folder"
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$folder"/* "$backup_dir"/
echo "Files copied successfully"
EOF
chmod +x backup.sh
echo "documents" | bash backup.sh基础知识中的所有课
自己练习: Terminal 在线编辑器