Tôi muốn chạy một dòng lệnh:
cd ~/www/tmp/; rm -P 2*
Nhưng tôi gặp lỗi nếu không có tệp nào bắt đầu bằng 2.
Bạn sẽ nghĩ rằng tôi muốn sử dụng -f
, tuy nhiên:
-f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error.
Và tôi làm chăm sóc về tập tin permissions- nếu có điều gì đó kỳ lạ đang xảy ra, tôi muốn các lệnh hủy bỏ. Tôi chỉ muốn loại bỏ lỗi 'không tồn tại'.
Tôi đã xem xét một số câu hỏi khác với 'lỗi rm' và thấy hai câu hỏi này có vẻ liên quan:
Xóa các tập tin và thư mục bằng tên của họ. Không có tập tin hoặc thư mục
Nhưng, tôi không hiểu mọi thứ đang diễn ra trong câu trả lời cho câu hỏi này và không biết rằng tôi cần nó?
Bản touch
hack được đề xuất trong câu hỏi này:
Có rm không báo cáo khi một tập tin bị mất?
Có vẻ khả thi, vì tôi không nghĩ rằng tôi quan tâm đến hiệu suất (nhưng bạn sẽ thực hiện loại hiệu suất nào? - tức là: đây có phải là một kỹ thuật có thể mở rộng hợp lý không, hay tôi chỉ đang học những thói quen rất xấu?)
Tôi không chắc chắn làm thế nào tôi làm một if-then
trong dòng lệnh.
Có bất kỳ tùy chọn nào khác cho việc dọn dẹp dòng lệnh cut-n-paste đơn giản không?
Sẽ find -delete
làm việc tốt hơn cho trường hợp của tôi? Nếu vậy, tại sao?
lỗi trong câu hỏi:
rm: 2*: No such file or directory
zsh
như vỏ tương tác của bạn? Bạn đang nhận được một No matches found
lỗi?
2*
thành rm thay vì mở rộng nó thành một danh sách các tệp. Nhìn vào lỗi trong câu hỏi: nó nói rằng rm đang phàn nàn, không phải sh / bas / zsh / ...
rm
, vì vậy bạn sẽ cần phải nói đó là gì.