क्या मैं रख सकता हूँ? और .. बाहर। * विस्तार


10

जब मैं टाइप करता हूं तो मुझे अक्सर यह गुस्सा (या बुरा) लगता है

command .*

बाश में और आदेश मूल निर्देशिका और वर्तमान निर्देशिका पर लागू होता है। क्या कुछ शेल विकल्प या अन्य कॉन्फ़िगरेशन है जो मैं बैश को बाहर करने .और ..विस्तार से बाहर कर सकता हूं .*?

जवाबों:


13

इस क्रम में बैश में:

GLOBIGNORE=.
shopt -u dotglob

जब GLOBIGNORE सेट किया जाता है, और .. स्वचालित रूप से अनदेखा कर दिया जाता है, इसलिए आपको वास्तव में उन्हें GLOBIGNORE में सेट करने की आवश्यकता नहीं है, लेकिन यदि आपके पास इसे अनदेखा करने के लिए और कुछ नहीं है तो इसे सेट करने के लिए आपके पास कुछ भी नहीं है।

हर बार जब आप GLOBIGNORE को गैर-शून्य मान पर सेट करते हैं dotglob, तो विकल्प पर बैश हो जाता है , इसलिए आपको इसे बंद करने की आवश्यकता होगी; अन्यथा बैश *एक डॉट के साथ शुरू होने वाली फ़ाइलों को शामिल करने के लिए विस्तार करेगा ।


अच्छा है धन्यवाद! मैं वास्तव में बल्कि dotglobचालू हो जाएगा , इसलिए सेटिंग GLOBIGNOREसही लगती है।
डेविड जेड

जब GLOBIGNORE सेट किया गया है, बैश की अनदेखी करता है .और ..नहीं बल्कि foo/.और foo/..। आप GLOBIGNORE=.:*/.:*/..पथ नामों के साथ भी इस काम को करने के लिए उपयोग करना चाह सकते हैं ।
user123444555621

3

एक अपरिचित प्रणाली पर जहां मेरे पास सेटिंग्स को जांचने के लिए बहुत कम समय होता है (जैसे GLOBIGNORE) मैं निम्नलिखित एंटीऑक्सीडेंट का उपयोग करता हूं:

command .??*
  • टाइप करने के लिए त्वरित .और ..पर्यावरण की परवाह किए बिना बाहर करने की गारंटी ।

1
मुझे हमेशा यह दृष्टिकोण पसंद आया, लेकिन इस बात से अवगत रहें कि यह 1-चार फाइलों से मेल करने में विफल रहता है.a
मेस्ट्रेलियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.