जब भी मैं rmएक बार शेल ग्लोबिंग के साथ एक से अधिक आइटम करता हूं और यहां तक कि थोड़ी सी भी संभावना है कि पैटर्न जितना मैं इसकी अपेक्षा करता हूं उससे अधिक फैलता है, मैं हमेशा जोड़ने की याद रखने की कोशिश करता हूं -i, लेकिन (निश्चित रूप से) मैं भूल सकता हूं और गलती से कुछ उपयोगी उड़ा सकता हूं। कुछ लोग इस समस्या को एक उपनाम के साथ हल करने की कोशिश करते हैं, जैसे कि alias rm='rm -i'लेकिन मैं rm को हमेशा इंटरैक्टिव बनाने के विचार से नफरत करता हूं , क्योंकि तब मैं -fहर समय उपयोग करने की आदत डालूंगा , जो स्पष्ट रूप से पूरे उद्देश्य को हरा देगा।
मैं जो करना चाहता हूं, rmकेवल तभी उपयोग -iकर सकता हूं जब मैं ग्लोबिंग का उपयोग करता हूं, और -fनिश्चित रूप से ओवरराइड करने के लिए -i, इसलिए मैं अभी भी पूरी निर्देशिका को सामान्य रूप से उड़ा सकता हूं rm -rf junk।
इसलिए rm *blah*वास्तव में होगा rm -i *blah*लेकिन rm blahटाइप किए गए के समान ही काम करेगा।
यदि यह अलग-अलग गोले में पूरा किया जा सकता है, तो इस बात में अंतर है, मैं एक उत्तर चुनूंगा जो केवल एक या दूसरे को कवर करने वाले उत्तरों पर बाश और ज़ीश दोनों के लिए तरीकों की आपूर्ति करता है।
नोट : मैं वास्तव में आश्वस्त नहीं हूं कि यह जरूरी एक अच्छा विचार है; मैं सिर्फ यह पूछ रहा हूं कि क्या यह संभव है। यदि आपको लगता है कि यह एक मूर्खतापूर्ण विचार है, तो मुझे आपकी राय के पीछे तर्क सुनने में बहुत खुशी होगी, लेकिन कृपया उत्तर क्षेत्र में ऐसी टिप्पणियों को पोस्ट न करें । वास्तविक उत्तर या तो मुझे बताएं कि यह कैसे करना है या यह समझाना है कि / यह क्यों संभव नहीं है (या संभवतः एक समान परिणाम प्राप्त करने के लिए एक वैकल्पिक विधि प्रदान करता है)। लेकिन अगर आप मुझे यह बताना चाहते हैं कि यह गूंगा क्यों है, तो कृपया टिप्पणी के रूप में पोस्ट करें। यदि मैं निष्कर्ष से असहमत हूं, तो भी मैं अच्छी तरह से टिप्पणी करूंगा।
noglobaliasing noglob my-rmऔर फिर my-rm को एक स्क्रिप्ट के रूप में लाभ उठा सकते हैं , जो एक ग्लोब के लिए जाँच करता है, इसका विस्तार करता है, और पास -i करता है या नहीं। यकीन नहीं है, पता नहीं zsh।
myrmऔर उस स्क्रिप्ट को वह करना चाहिए जो आपको पसंद है।
rm -Iतरह से-iट्रिगर होता है जब तीन से अधिक फाइलें या-rपारित हो जाती हैं। मेंbash,Ctrl-x *ग्लोब का विस्तार करने और इसे स्वयं निरीक्षण करने के लिए कीबोर्ड शॉर्टकट का उपयोग करें।