2013-03-19 27 views
10

tôi đang học Scripting vỏ trên của riêng tôi, và tôi đã điều tra làm thế nào để làm Nếu, và tôi không hiểu một ví dụ mà có:Shell Scripting Nếu [-f ./file]

if [ -f ./$NAME.tar ]; then 
    //do something 
else 
    //something else 

Bây giờ tôi đã làm một số thử nghiệm, và tôi đã cho NAME tên của một tập tin tôi đã có trong thư mục của tôi. Khi tôi thực hiện mà không có -f, nó đã được nhập vào trong điều kiện khác, nhưng với -f nó vào // làm điều kiện gì đó Vì vậy, tôi giả sử -f là cho tập tin. Điều này có đúng không? Tôi không thể tìm thấy thông tin để xác nhận điều này.

Trả lời

14

Từ bash dẫn sử dụng:

-f file - True if file exists and is a regular file. 

Vì vậy, có, -f nghĩa tập tin (./$NAME.tar trong trường hợp của bạn) tồn tại và là một tập tin bình thường (không phải là một tập tin thiết bị hoặc một thư mục ví dụ).

+0

Tôi không tìm thấy trang người đàn ông cho điều này .. ngớ ngẩn tôi. cảm ơn bạn. – Alessandroempire

+3

It's in 'man 1 bash' trong phần' CONDITIONAL EXPRESSIONS'. – kamituel

Các vấn đề liên quan