কেবল উদ্ধৃত স্ট্রিংগুলি গ্লোব্বিংয়ের সাপেক্ষে নয় :
$ echo ".[].aliases[]"
.[].aliases[]
তবে আন-কোট করা স্ট্রিংগুলি গ্লোববিংয়ের সাপেক্ষে। একটি অব্যক্ত স্ট্রিং যা একটি *
বা একটি ?
(বৈধ) []
(বন্ধনী এক্সপ্রেশন) ধারণ করে তার সাথে মিলে যাওয়া ফাইলগুলির তালিকা দ্বারা সংশোধন করা হবে। একই ভাবে হিসেবে *
ম্যাচিং ডিরেক্টরির মধ্যে সব ফাইল মধ্যে রূপান্তরিত হবে এবং একটি ?
চরিত্র শুধু একটি, একটি (বৈধ) ফাইল ম্যাচ হবে []
বন্ধনী ভিতরে অক্ষর ম্যাচ হবে ফাইল। একটি বিন্দু একটি বৈধ অক্ষর:
$ echo a[.]b
a[.]b
$ touch "a.b"
$ echo a[.]b
a.b
কোনওটির সাথে মেলে ]
তুলতে এটি বন্ধনীগুলির মধ্যে প্রথম অক্ষর হওয়া উচিত:
$ touch "a]b"
$ ls a[]]b
a]b
একটি খালি বন্ধনী এক্সপ্রেশন কোনও অর্থ দেয় না (এবং প্রসারিত হয় না):
$ touch ab
$ ls a[]b
ls: cannot access 'a[]b': No such file or directory
এই কারণেই এটি কাজ করে:
$ touch a]c abc afc azc a:c a?c aoc
$ ls a[]bfz:?]c
abc a:c a?c a]c afc azc
জন্য [
ধারণা অনুরূপ:
$ touch a[c
$ ls a[[]c
a[c
তবে এটি বন্ধনী প্রকাশের যে কোনও অবস্থাতেই হতে পারে:
$ ls a[]bf[z:?]c
abc a:c a?c a[c a]c afc azc
$ ls a[]bfz:?[]c
abc a:c a?c a[c a]c afc azc
আপনার পোস্ট করা স্ট্রিং .[].foo[]
একটি বিন্দুর সাথে মিলবে যার পরে a ]
, a .
, a f
, a o
বা a হয় [
। এটি অনুরূপ:
$ echo a[].foo[]c
a[c a]c afc aoc
এবং এটি নিম্নলিখিত হিসাবে মিলবে:
$ touch .] .f .o .[ .a .b .z
$ echo .[].foo[]
.. .[ .] .f .o
নোট করুন যে ডিরেক্টরিটি এন্ট্রি ..
তৈরি করার প্রয়োজন হয় না কারণ এটি প্রতিটি ডিরেক্টরিতে ডিফল্টরূপে বিদ্যমান থাকে। তবে একটি সাধারণ বিন্দুটি .
কোনও গ্লোবের সাথে মিলবে না কারণ এটি স্পষ্টভাবে মেলানো দরকার (আসলে একটি বিন্দু ব্যবহার করে)।
তবে এটি মেলে না ..aliases
কারণ বন্ধনী এক্সপ্রেশনটি কেবল একটি অক্ষরের সাথে মেলে । বেশ কয়েকটি অক্ষর মেলে আপনাকে একটি *
(কিছু) ব্যবহার করতে হবে :
$ touch ..a ..l ..i ..aliases ..alias ..ali
$ echo .[].aliases[]
.. .[ .] .a
$ echo .[].aliases[]*
.. .[ .] .a ..a ..ali ..alias ..aliases ..i ..l