Script shell linux để đọc danh sách các file và folder từ một file.txt và sau đó xoá chúng
#!/bin/bash
# Đường dẫn đến file.txt chứa danh sách các file và folder
FILE_LIST="file.txt"
# Đọc từng dòng trong file.txt và xoá file hoặc folder tương ứng
while read FILE_PATH; do
# Xoá file hoặc folder nếu tồn tại
if [ -e "$FILE_PATH" ]; then
echo "Đang xoá $FILE_PATH"
rm -rf "$FILE_PATH"
else
echo "Không tìm thấy $FILE_PATH"
fi
done < "$FILE_LIST"
Đầu tiên, đường dẫn đến file.txt
chứa danh sách các file và folder được lưu vào biến FILE_LIST
.
Tiếp theo, đoạn script sử dụng vòng lặp while để đọc từng dòng trong file.txt
. Trong mỗi lần lặp, đoạn script sẽ kiểm tra xem file hoặc folder tương ứng có tồn tại hay không bằng lệnh [ -e "$FILE_PATH" ]
.
Nếu file hoặc folder tồn tại, đoạn script sẽ sử dụng lệnh rm -rf "$FILE_PATH"
để xoá chúng và hiển thị thông báo đã xoá file hoặc folder đó. Nếu không tìm thấy file hoặc folder tương ứng, đoạn script sẽ hiển thị thông báo không tìm thấy.
#!/bin/bash
được gọi là "shebang" và nó là một cách để khai báo trình thông dịch script sẽ được sử dụng để chạy đoạn script đó. Trong trường hợp này, #!/bin/bash
cho biết đoạn script sẽ được chạy bằng trình thông dịch Bash
.
Khi bạn thực thi một file script, hệ thống sẽ sử dụng shebang để xác định trình thông dịch phù hợp để thực thi file script đó. Nếu không có shebang, hệ thống sẽ không biết phải sử dụng trình thông dịch nào để thực thi đoạn script đó.
Vì vậy, để đảm bảo rằng đoạn script được thực thi bằng trình thông dịch đúng, bạn nên khai báo shebang phù hợp trên đầu đoạn script của mình.