Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Cách kiểm tra xem tệp hoặc thư mục có tồn tại trong Bash hay không [+ Ví dụ]

Bạn có thể kiểm tra xem tệp hoặc thư mục có tồn tại trên hệ thống Linux hay không bằng cách sử dụng kiểm tra lệnh trong bash. Xem các ví dụ của chúng tôi bên dưới để tìm hiểu cách thực hiện.

Bài kiểm tra Cú pháp lệnh

test EXPRESSION

Lệnh kiểm tra sẽ đánh giá EXPRESSION . Biểu thức có thể được xây dựng bằng cách sử dụng các toán tử sau và có thể được xây dựng bằng cách sử dụng kết hợp các toán tử.

-d tệp Đúng nếu tệp là một Thư mục. [[-d demofile]]
-e tệp Đúng nếu tệp tồn tại. [[-e demofile]]
-f tệp Đúng nếu tệp là Tệp thông thường. [[-f demofile]]
-h tệp Đúng nếu tệp là một Liên kết tượng trưng. [[-h demofile]]
-L tệp Đúng nếu tệp là một Liên kết tượng trưng. [[-L demofile]]
-s tệp Đúng nếu tệp có Kích thước lớn hơn 0. [[-s demofile]]

Bài kiểm tra lệnh cũng có thể được sử dụng cho các loại so sánh khác, như so sánh ngày, loại và quyền của tệp cũng như so sánh các chuỗi và số - để xem hướng dẫn sử dụng cho bài kiểm tra chạy lệnh sau trong Linux shell:

man test

Có thể bạn đã nhận thấy những [[]] (dấu ngoặc vuông) - dấu ngoặc vuông có thể được sử dụng thay cho find lệnh - nhưng chúng tôi sẽ tránh làm điều đó để giữ mọi thứ dễ hiểu.

Bài kiểm tra Ví dụ về lệnh

Bạn có thể nhanh chóng kiểm tra xem tệp hoặc thư mục có tồn tại hay không bằng cách sử dụng && toán tử trên Linux shell, sẽ chỉ chạy nếu kiểm tra lệnh thoát với trạng thái TRUE:

test -e /path/to/myfile && echo "File or directory exists."

Sử dụng kiểm tra Ra lệnh bằng if Tuyên bố

Bạn có thể tạo tập lệnh với logic có điều kiện bằng cách sử dụng câu lệnh if..else và find :

if test -f path/to/myfile; then
    echo "File exists and is a regular file."
elif test -d path/to/myfile; then
    echo "File exists and is a directory."
else 
    echo "File does not exist."
fi

Kết luận

Khi ghi vào hệ thống tệp của người dùng, không bao giờ là khôn ngoan nếu chỉ sửa đổi hoặc tạo một tệp mà không kiểm tra những gì ở đó trước - bạn có thể đang phá hủy dữ liệu có giá trị và tự gặp rắc rối.

Các tập lệnh tốt sẽ kiểm tra sự hiện diện của tệp trước tiên và hỏi người dùng nên thực hiện hành động nào - và phương pháp trên có thể được xây dựng để thực hiện điều đó.

Để biết thêm hướng dẫn về cách điều hướng với Linux shell, hãy nhấp vào đây!