শপ-এস এক্সট্লোব এর উদ্দেশ্য কী


16

আমি ডিরেক্টরিটি বাদ দিয়ে সমস্ত ফাইল মুছতে চেয়েছি। আমি আমার সমাধান এখানে পেয়েছি । এই সমাধানটি একটি কমান্ড ব্যবহার করছে

shopt -s extglob

আমি জানতে চেয়েছিলাম যে এই আদেশটি হুবহু কী করছে, কিছু পিছনে জ্ঞান। আমি এই উত্তরে একটি মন্তব্যও যুক্ত করেছি তবে এখন পর্যন্ত কোনও উত্তর পাইনি। উবুন্টুতে নতুন ব্যবহারকারী হিসাবে আমি এই কমান্ডটি কী করছে তা জানতে আগ্রহী।

উত্তর:


17

সহজ কথায়, গ্লোব্বিং প্যাটার্ন মিলকে বোঝায়। বাশ সরল গ্লোব্বিংয়ের মতো ব্যবহার করে echo l*যা বর্তমান ডিরেক্টরিতে ফাইলগুলির তালিকাতে প্রসারিত হয় যা অক্ষর দিয়ে শুরু হয় l। অবশ্যই, আপনি অনুমান করতে পারেন, এটি সহজ এবং সীমাবদ্ধ।

প্রবেশ করুন extglob। আপনি অনুমান করতে পারেন, এটি জন্য দাঁড়িয়েছে extended globbing। এই বিকল্পটি আরও উন্নত প্যাটার্ন মেলানোর অনুমতি দেয়। থেকে man bash:

extglob If set, the extended pattern matching features described
        above under Pathname Expansion are enabled.

এবং তার সামান্য আগে:

If the extglob shell option is enabled using the shopt builtin, several
extended pattern matching operators are recognized.  In  the  following
description, a pattern-list is a list of one or more patterns separated
by a |.  Composite patterns may be formed using  one  or  more  of  the
following sub-patterns:

      ?(pattern-list)
             Matches zero or one occurrence of the given patterns
      *(pattern-list)
             Matches zero or more occurrences of the given patterns
      +(pattern-list)
             Matches one or more occurrences of the given patterns
      @(pattern-list)
             Matches one of the given patterns
      !(pattern-list)
             Matches anything except one of the given patterns

বিভিন্ন উপায়ে extglobব্যবহার করা যেতে পারে। লিনাক্স জার্নাল এবং গ্রেগের উইকিতে বেশ কয়েকটি ভাল উদাহরণ সরবরাহ করা হয়েছে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.