Thông báo thành công
Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 79 trên 82.
Thử thách
DễHãy hoàn thiện tập lệnh sao lưu bằng cách thêm thông báo thành công cuối cùng, tóm tắt nội dung đã sao lưu.
Sửa đổi backup.sh để:
- Giữ nguyên toàn bộ code hiện có từ bài học trước (
backup.shtrong không gian làm việc của bạn là phiên bản đó, được hiển thị bên dưới) - Thêm một dòng tóm tắt cuối cùng sau thông báo "Files copied successfully"
- In ra:
Backup complete: [source_dir] -> [backup_dir]
Tập lệnh ở trạng thái cuối bài học trước:
#!/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"Cách nhanh nhất để chỉnh sửa là viết lại toàn bộ tệp bằng cat > backup.sh << 'EOF' ... EOF, rồi thêm dòng mới trước EOF đóng.
Chạy tập lệnh và nhập documents khi được nhắc. Đầu ra của bạn sẽ trông như sau:
Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully
Backup complete: documents -> backup_20240115_143052Dấu thời gian trong đầu ra sẽ khác nhau tùy theo ngày và giờ hiện tại.
Chúc mừng! Bạn đã tạo một tập lệnh sao lưu hoàn chỉnh có thể:
- Nhắc người dùng nhập thư mục nguồn
- Tạo thư mục sao lưu có dấu thời gian
- Sao chép tất cả tệp vào thư mục sao lưu
- Thông báo rõ ràng ở mỗi bước
Gợi ý: Thêm
echo "Backup complete: $source_dir -> $backup_dir"vào cuối tập lệnh để hiển thị thông báo tóm tắt cuối cùng.
Tự làm thử
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.shTất cả bài học trong Kiến thức cơ bản
4Thư mục
Tạo thư mụcSao chép thư mụcDi chuyển và đổi tên thư mụcXóa thư mụcÔn tập: thao tác với thư mục2Điều hướng
In đường dẫn thư mục hiện tạiLiệt kê tệpChuyển thư mụcĐường dẫn tuyệt đối và tương đốiThư mục chính và thư mục gốcÔn tập: tìm đường8Chuyển hướng
Đầu ra chuẩnGhi đè vào tệpGhi thêm vào tệpĐầu vào chuẩnLỗi chuẩnÔn tập: Công cụ tạo nhật ký11Quyền truy cập
Tìm hiểu quyền truy cậpXem quyền truy cậpChmod bằng sốChmod bằng ký hiệuQuyền sở hữu tệpÔn tập: khóa chặt quyền14Dự án script sao lưu
Tổng quan dự ánLấy đường dẫn nguồn6Ký tự đại diện và mẫu
Ký tự đại diện dấu saoKý tự đại diện dấu hỏiKý tự đại diện trong ngoặc vuôngKết hợp ký tự đại diệnÔn tập: thao tác có chọn lọc9Đường ống
Đường ống là gìNối hai lệnh bằng đường ốngNối nhiều lệnh bằng đường ốngDùng đường ống với grepÔn tập: luồng xử lý dữ liệuTự luyện tập: Playground Terminal