GUARDS(1) User Contributed Perl Documentation GUARDS(1)

guards - انتخاب از میان فهرستی از فایل‌های محافظت‌شده با شرط‌ها

guards [--prefix=dir] [--path=dir1:dir2:...] [--default=<0|1>] [--check|--list] [--invert-match] [--with-guards] [--config=<file>] symbol ...

این اسکریپت یک فایل پیکربندی را می‌خواند که ممکن است حاوی اصطلاحاً محافظ‌ها (guards)، نام‌های فایل و توضیحات باشد، و آن نام‌های فایلی را که همهٔ محافظ‌ها را برآورده می‌کنند در خروجی استاندارد می‌نویسد. این اسکریپت فهرستی از نمادها را به عنوان آرگومان‌های خود می‌گیرد. هر خط در فایل پیکربندی به صورت جداگانه پردازش می‌شود. خطوط می‌توانند با تعدادی محافظ آغاز شوند. محافظ‌های زیر تعریف شده‌اند:

+xxx در صورتی که نماد xxx تعریف شده باشد، فایل(های) این خط را لحاظ می‌کند.

-xxx در صورتی که نماد xxx تعریف شده باشد، فایل(های) این خط را مستثنی می‌کند.

+!xxx در صورتی که نماد xxx تعریف نشده باشد، فایل(های) این خط را لحاظ می‌کند.

-!xxx در صورتی که نماد xxx تعریف نشده باشد، فایل(های) این خط را مستثنی می‌کند.

- این فایل را مستثنی می‌کند. برای جلوگیری از پیام‌های کاذب --check استفاده می‌شود.

محافظ‌ها از چپ به راست پردازش می‌شوند. آخرین محافظی که مطابقت داشته باشد تعیین می‌کند که آیا فایل لحاظ شود یا خیر. اگر هیچ محافظی مشخص نشده باشد، تنظیم --default لحاظ شدن یا نشدن فایل را تعیین می‌کند.

اگر هیچ فایل پیکربندی‌ای مشخص نشده باشد، اسکریپت از ورودی استاندارد می‌خواند.

گزینهٔ --check برای مقایسهٔ فایل مشخصات با سیستم فایل استفاده می‌شود. اگر در فایل مشخصات به فایل‌هایی ارجاع داده شده باشد که وجود ندارند، یا اگر فایل‌هایی در فایل مشخصات درج نشده باشند، هشدارها چاپ می‌شوند. از گزینهٔ --path می‌توان برای مشخص کردن دایرکتوری یا دایرکتوری‌هایی که باید پویش شوند استفاده کرد. دایرکتوری‌های متعدد با نویسهٔ دونقطه (":") از هم جدا می‌شوند. گزینهٔ --prefix مکان فایل‌ها را مشخص می‌کند. همچنین، نحو --path=@<file> می‌تواند برای تعیین فایلی به کار رود که نام‌های فایل از آن خوانده خواهند شد.

از --list برای فهرست کردن تمام فایل‌ها بدون وابستگی به هیچ قاعده‌ای استفاده کنید. از --invert-match فقط برای فهرست کردن وصله‌های مستثنی‌شده استفاده کنید. از --with-guards برای لحاظ کردن تمامی قواعد شمول و استثنا استفاده کنید.

Andreas Gruenbacher <agruen@suse.de>, SUSE Labs

2025-09-18 perl v5.42.0