گلوب (برنامه‌نویسی)
نوشتار > شبه‌یونیکس

در سیستم‌های شبه یونیکس *, ? به صورت بالا تعریف شده‌اند، در صورتی که […] دو معنی اضافه دارد:
| علامت | شرح | مثال | مسابقات | مطابقت ندارد |
| --- | --- | --- | --- | --- |
| [!abc] | با یک کاراکتر که در براکت ذکر نشده است مطابقت دارد | [!C]at | Bat , bat یا cat | Cat |
| [!a-z] | با یک کاراکتر مطابقت دارد که از محدوده داده شده در براکت نیست | Letter[!۳-۵] | Letter1، Letter2، Letter6 تا Letter9 و Letterx و غیره. | Letter3، Letter4، Letter5 یا Letterxx |
محدوده‌ها همچنین می‌توانند کلاس‌های کاراکتر از پیش تعریف‌شده، کلاس‌های هم ارز برای کاراکترهای تأکیدی، و نمادهای مشابه برای کاراکترهایی که تابپ کردن آن‌ها دشوار است را شامل شوند. آنها برای ترکیب با براکت‌ها در عبارت‌های منظم POSIX تعریف شده‌اند.
گلوبینگ {{به انگلیسی | globbing}} یونیکس طبق سنت POSIX توسط پوسته اداره می‌شود. گلوبینگ روی نام فایل‌ها در خط فرمان و در شل اسکریپت‌ها ارائه می‌شود. عبارت case که توسط پازیکس الزام شده در پوسته‌ها تطبیق الگو را با استفاده از الگوهای glob فراهم می‌کند.
برخی از پوسته‌ها (مانند پوسته C و Bash) از نوشتارهای اضافی که به با عنوان‌های متناوب یا گسترش شاخه شناخته می‌شود نیز پشتیبانی می‌کنند. از آنجایی این نوشتارهای اضافی بخشی از نوشتار گلوب نیستند، در case ارائه نشده‌اند. آن‌ها فقط در خط فرمان قبل از اجرای گلوبینگ گسترش می‌یابند.
پوسته بش از افزونه‌های زیر نیز پشتیبانی می‌کند:
گلوبینگ گسترش یافته (extglob): به دیگر عملگرهای تطبیق الگو اجازه می‌دهد تا برای تطبیق چندین رخداد یک الگوی محصور درون پرانتز استفاده شوند. اساساً ستاره کلین گمشده و تناوب را برای توصیف زبان‌های معمولی فراهم می‌کند. با تنظیم گزینه extglob shell می‌توان آن را فعال کرد. این گزینه از ksh93 آمده است. گنو fnmatch و گلوب یک افزونه مشابه دارند.
globstar: به ** به تنهایی به عنوان یک جزء نام اجازه می‌دهد تا به صورت بازگشتی هر تعداد از لایه‌های پوشه‌های غیر مخفی را مطابقت دهد. همچنین توسط کتابخانه‌های JS و glob در Python پشتیبانی می‌شود.
نسخه اصلی داس {{به انگلیسی | DOS}} مشابه سی‌پی/ام {{به انگلیسی |  CP/M}} بود که برای کار بر روی پردازنده‌های 8088 و ۸۰۸۶ اینتل طراحی شده بود. پوسته‌های ویندوز، به دنبال DOS، به‌طور سنتی هیج گسترش گلوب ای روی مقادیر ارسال شده به برنامه‌های خارجی انجام نمی‌دهند. شل‌ها می‌توانند از یک افزونه برای دستورات داخلی خود استفاده کنند:
پاورشل ویندوز {{به انگلیسی | Windows Powershell}} تمام نوشتارهای رایج تعریف شده در بالا را بدون هیچ گونه افزودنی ای دارد.
COMMAND.COM و cmd.exe اکثر نوشتارهای رایج را با برخی محدودیت‌ها دارند: […] نوشتار برای هیچ‌یک وجود ندارد و برای COMMAND.COM نوشتار * فقط می‌تواند در انتهای الگو ظاهر شود و نمی‌تواند در وسط یک الگو بیاید، مگر بلافاصله قبل از نقطه جداکننده پسوند نام فایل.
برنامه‌های ویندوز و داس به‌جای پارامترهایی به سبک argv، یک رشته خط فرمان طولانی دریافت می‌کنند و انجام هرگونه تقسیم، نقل‌قول، یا گسترش با استفاده از گلوب وظیفه خودشان است. در واقع، هیچ روش ثابتی برای توصیف حروف عمومی در برنامه‌ها وجود ندارد، زیرا آنها آزاد هستند تا آنچه را که می‌خواهند انجام دهند. دو گسترش دهنده گلوب رایج عبارتند از:
گسترش دهنده خط فرمان اجرا کننده C مایکروسافت (msvcrt)، که فقط از ? و * پشتیبانی می‌کند. ReactOS (crt/misc/getargs.c) و Wine (msvcrt/data.c) هر دو شامل یک پیاده‌سازی منبع باز سازگار از __getmainargs هستند، عملکردی که دور از چشم، در CRT اصلی خود کار می‌کند.
گسترش دهنده خط فرمان Cygwin و MSYS dcrt0.cc که پس از تقسیم آرگومان‌ها از روال glob() به سبک یونیکس استفاده می‌کند.
بیشتر بخش‌های دیگر ویندوز، از جمله سرویس نمایه گذاری، از روش استفاده شده توسط MS-DOS برای حروف عمومی که در CMD یافت می‌شود استفاده می‌کنند. یک یادگاری از زمان نام فایل ۸٫۳، این نوشتار توجه ویژه ای به نقاط در الگو و متن (نام فایل) دارد. در داخل، این کار با استفاده از سه حرف عمومی اضافی <>" انجام می‌شود. در سمت API ویندوز، glob()معادل FindFirstFile است و fnmatch() متناظر با زیربنای آن، RtlIsNameInExpression است. (یک آنالوگ fnmatch دیگر، PathMatchSpec است) هر دوی این گسترش دهنده‌های منبع باز msvcrt از FindFirstFile استفاده می‌کنند، بنابراین ویژگی‌های نام فایل ۸٫۳، در آنها نیز اعمال می‌شوند.