เมื่อใดก็ตามที่ฉันมีrm
หลายรายการพร้อม ๆ กันกับที่มีเปลือกหอยกลมและมีความเป็นไปได้แม้แต่น้อยที่สุดที่รูปแบบขยายออกไปมากกว่าที่ฉันคาดไว้ฉันพยายามจำไว้เสมอว่าจะเพิ่ม-i
แต่แน่นอนฉันสามารถลืมและระเบิดสิ่งที่มีประโยชน์ บางคนพยายามที่จะแก้ปัญหานี้ด้วยนามแฝงเช่นalias rm='rm -i'
แต่ฉันเกลียดความคิดในการสร้าง rm แบบอินเทอร์แอคทีฟเสมอเพราะจากนั้นฉันจะใช้นิสัย-f
ตลอดเวลาซึ่งจะเอาชนะวัตถุประสงค์ทั้งหมดอย่างเห็นได้ชัด
สิ่งที่ผมอยากจะทำคือให้rm
ใช้เฉพาะ-i
เมื่อฉันใช้ globbing และ-f
แน่นอนที่จะแทนที่ดังนั้นฉันยังคงสามารถระเบิดไดเรกทอรีออกไปทั้งที่มีตามปกติ-i
rm -rf junk
ดังนั้นrm *blah*
จริงๆจะเป็นrm -i *blah*
แต่rm blah
จะทำงานตรงตามที่พิมพ์
ในกรณีที่มีความแตกต่างในวิธีการที่จะประสบความสำเร็จในเปลือกหอยที่แตกต่างกันฉันจะเลือกคำตอบที่ให้วิธีการสำหรับทั้ง bash และ zsh มากกว่าคำตอบที่ครอบคลุมอย่างใดอย่างหนึ่งเท่านั้น
หมายเหตุ : ฉันไม่เชื่อจริง ๆ ว่านี่เป็นความคิดที่ดี ฉันแค่ถามว่ามันเป็นไปได้ หากคุณคิดว่านี่เป็นความคิดที่โง่ฉันจะมีความสุขมากที่จะได้ยินเหตุผลที่อยู่เบื้องหลังความคิดเห็นของคุณ แต่โปรดอย่าแสดงความคิดเห็นไม่ได้โพสต์ดังกล่าวในฟิลด์คำตอบ คำตอบจริง ๆ บอกฉันว่าจะทำอย่างไรหรืออธิบายว่า / ทำไมจึงเป็นไปไม่ได้ (หรืออาจเสนอวิธีอื่นในการรับผลลัพธ์ที่คล้ายกัน) แต่ถ้าคุณต้องการที่จะบอกฉันว่าทำไมนี้เป็นใบ้กรุณาโพสต์เป็นความคิดเห็น ฉันจะลบล้างความคิดเห็นที่มีเหตุผลแม้ว่าฉันจะไม่เห็นด้วยกับข้อสรุปก็ตาม
noglob
โดยใช้นามแฝง rm ถึงnoglob my-rm
แล้วมี my-rm เป็นสคริปต์ที่ตรวจสอบ glob ขยายและผ่าน -i หรือไม่ ไม่แน่ใจไม่ทราบ zsh
myrm
แล้วปล่อยให้สคริปต์นั้นทำสิ่งที่คุณชอบ
rm -I
ก็เป็นเช่น-i
นั้นจะทริกเกอร์เมื่อมากกว่าสามไฟล์หรือ-r
ผ่าน ในbash
ใช้Ctrl-x *
แป้นพิมพ์ลัดเพื่อขยาย glob และตรวจสอบด้วยตัวคุณเอง