मैं से स्थानांतरित करने के कोशिश कर रहा हूँ bash
करने के लिए fish
।
के fish
अनुरूप क्या है shopt
? मैं इस लाइन की नकल करने की कोशिश कर रहा हूँ .bashrc
:
shopt -s dotglob # for mv * see hidden files
मैं से स्थानांतरित करने के कोशिश कर रहा हूँ bash
करने के लिए fish
।
के fish
अनुरूप क्या है shopt
? मैं इस लाइन की नकल करने की कोशिश कर रहा हूँ .bashrc
:
shopt -s dotglob # for mv * see hidden files
जवाबों:
यह जानबूझकर किया गया है। अधिकांश समय उपयोगकर्ता गलती से छिपी हुई फ़ाइलों से मिलान नहीं करना चाहते हैं जो ls
(बिना -a
) के लिए अदृश्य हैं । आमतौर पर, फ़ाइलें एक कारण के लिए छिपी होती हैं, न कि केवल आपको ट्रोल करने के लिए। इसके अलावा, यदि *
छिपी हुई फ़ाइलों से मेल खाता है , तो गैर-छिपी हुई फ़ाइलों का मिलान बहुत मुश्किल होगा।
हालाँकि, बैश के विपरीत shopt -s dotglob
छिपी हुई फाइलों का मिलान करने की आवश्यकता नहीं है। बैश shopt -s dotglob
में, निर्देशिका में हर फ़ाइल को गलती से मिलान किए बिना .
या मिलान करने का एकमात्र तरीका है ..
। हालाँकि, मछली का गोला कभी भी .
या ..
ग्लब्स के साथ मेल नहीं खा सकता है , इसलिए यह कोई मुद्दा नहीं है (यदि आपको गंभीरता से मिलान करने की आवश्यकता है .
या ..
किसी मूर्खतापूर्ण कारण से, तो उन्हें स्पष्ट रूप से कहें)। इसके अलावा, मछली डिजाइन के विकल्पों से बचने की कोशिश करती है, इसलिए ऐसा नहीं है dotglob
।
निर्देशिका में हर एक फ़ाइल से मेल खाने के लिए, आप डॉट्स से शुरू होने वाली फ़ाइलों का पता लगाने के लिए ब्रैकेट विस्तार का उपयोग कर सकते हैं, और जो नहीं हैं। {.,}
ब्रैकेट विस्तार है जो डॉट से मेल खाता है जो मौजूद हो सकता है या नहीं। इसके बाद का सितारा हर चीज से मेल खाता है। क्योंकि मछली में ग्लब्स मेल नहीं खा सकते हैं .
या ..
, निम्न कोड उन दो निर्देशिकाओं को छोड़कर सब कुछ मेल खाता है (जो उदास रूप से मेल खाता है, यदि आप नीचे दिए गए कोड का उपयोग करते हैं)
cat {.,}*
{,.}*
मैन्युअल रूप से ग्लोब करना होगा।