Bất cứ khi nào tôi có rm
nhiều vật phẩm cùng một lúc với lớp vỏ và thậm chí có khả năng nhỏ nhất là mô hình sẽ mở rộng hơn tôi mong đợi, tôi luôn cố gắng nhớ thêm -i
, nhưng (dĩ nhiên) tôi có thể quên và vô tình thổi bay thứ gì đó hữu ích. Một số người cố gắng giải quyết vấn đề này bằng một bí danh, alias rm='rm -i'
nhưng tôi ghét ý tưởng làm cho rm luôn tương tác, bởi vì sau đó tôi sẽ có thói quen sử dụng -f
mọi lúc, điều này rõ ràng sẽ đánh bại toàn bộ mục đích.
Những gì tôi muốn làm là rm
chỉ sử dụng -i
khi tôi sử dụng globalbing, và -f
dĩ nhiên là để ghi đè -i
, vì vậy tôi vẫn có thể thổi bay toàn bộ thư mục với thông thường rm -rf junk
.
Do đó rm *blah*
sẽ thực sự được rm -i *blah*
nhưng rm blah
sẽ hoạt động chính xác như được gõ.
Trong trường hợp có sự khác biệt về cách thực hiện điều này trong các shell khác nhau, tôi sẽ chọn một câu trả lời cung cấp các phương thức cho cả bash và zsh so với các câu trả lời chỉ bao gồm cái này hoặc cái kia.
Lưu ý : Tôi không thực sự tin rằng đây thực sự là một ý tưởng tốt; Tôi chỉ hỏi nếu có thể. Nếu bạn nghĩ rằng đây là một ý tưởng ngu ngốc, tôi sẽ rất vui khi nghe lý do đằng sau ý kiến của bạn, nhưng xin vui lòng không đăng những bình luận như vậy trong trường trả lời . Câu trả lời thực sự cho tôi biết làm thế nào để làm điều này hoặc giải thích rằng / tại sao không thể (hoặc có thể cung cấp một phương pháp thay thế để có được kết quả tương tự). Nhưng nếu bạn muốn cho tôi biết lý do tại sao điều này là ngu ngốc, xin vui lòng gửi như một bình luận. Tôi sẽ phản đối những bình luận có lý do ngay cả khi tôi không đồng ý với kết luận đó.
noglob
, ví dụ, răng cưa rm đến noglob my-rm
, và sau đó my-rm là một tập lệnh kiểm tra toàn cầu, mở rộng nó và vượt qua -i hay không. Không chắc chắn, không biết zsh.
myrm
và để tập lệnh đó làm những điều tuyệt vời mà bạn thích.
rm -I
giống như-i
chỉ kích hoạt khi có nhiều hơn ba tệp hoặc-r
được thông qua. Trongbash
, sử dụngCtrl-x *
phím tắt để mở rộng toàn cầu và tự kiểm tra nó.