Tôi có một kịch bản lệnh shell và tôi muốn thêm một hoặc hai dòng nơi nó sẽ xóa tệp nhật ký chỉ khi nó tồn tại. Hiện tại, tập lệnh của tôi chỉ đơn giản là:Làm cách nào để xóa một tệp nếu nó tồn tại?
rm filename.log
Tuy nhiên, nếu tên tệp không tồn tại, tôi nhận được thông báo nói filename.log không tồn tại, không thể xóa. Điều này có ý nghĩa nhưng tôi không muốn tiếp tục thấy rằng mỗi khi tôi chạy kịch bản. Có cách nào thông minh hơn với câu lệnh IF tôi có thể thực hiện việc này không?
Vâng, hoàn toàn không thể xóa tệp không tồn tại, do đó, có vẻ như khái niệm "xóa tệp chỉ khi tệp tồn tại" là thừa. Vì vậy, 'rm -f filename', hoặc' rm filename 2 >>/dev/null', hoặc '[[-r filename]] && rm filename' sẽ là một số tùy chọn .. – twalberg