প্রতিধ্বনি কিছু ফাইল দু'বার মেলাচ্ছে কেন?


11
$ touch file{1..12}

$ echo *e{1..12}
file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 file11 file12

$ echo *{1..12}
file1 file11 file12 file2 file3 file4 file5 file6 file7 file8 file9 file10 file11 file12

আমি বুঝতে পারছি না কেন এটি হচ্ছে। দয়া করে কেউ ব্যাখ্যা করতে পারেন?

উত্তর:


21

ধনুর্বন্ধনী ওয়াইল্ডকার্ড নিদর্শন নয়। বাশ বিস্তারের ডকুমেন্টেশন চেক করুন : বক্রবন্ধগুলি প্রক্রিয়াটির খুব প্রথম দিকে প্রসারিত হয় এবং ওয়াইল্ডকার্ড নিদর্শনগুলি শেষ ধাপে প্রসারিত হয় ¹

প্রাথমিকভাবে, কমান্ড দুটি শব্দ নিয়ে গঠিত echo, *{1..12}। বক্রবন্ধনী সম্প্রসারণ পর কমান্ড 13 শব্দ রয়েছে: echo, *1, *2, ..., *12। তারপরে ওয়াইল্ডকার্ডের ধরণগুলি প্রসারিত করা হবে। *1শেষ হওয়া ফাইলের নামের তালিকায় প্রসারিত হয় 1, যার মধ্যে রয়েছে কেবলমাত্র file1নয় file11(যা পরে অভিধান হিসাবে সাজানো হয়) অন্তর্ভুক্ত। তেমনি *2প্রসারিত হয় file12এবং file2(এই ক্রমে)। সুতরাং আপনি পেতে echo, file1, file11, file12, file2একটি ফাইল মিলেছে, এবং তারপর অন্যান্য ওয়াইল্ডকার্ড যে: file3, file4, ..., file12

¹ পরবর্তী শেষ, যদি আপনি যদি ম্যানুয়াল বর্ণনা কিন্তু "উদ্ধৃতি অপসারণ" অনুসরণ না সত্যিই একটা জিনিস হয় - কোট সম্প্রসারণ প্রক্রিয়া আগের পার্স করা হয়।

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