| CHECKBASHISMS(1) | General Commands Manual | CHECKBASHISMS(1) |
نام (NAME)
checkbashisms - بررسی اسکریپتهای پوسته برای سینتکسهای مختص بش (bashisms)
خلاصه دستور (SYNOPSIS)
checkbashisms script ...
checkbashisms --help|--version
توضیحات (DESCRIPTION)
دستور checkbashisms که بر پایه یکی از بررسیهای سامانه lintian استوار است، بررسیهای اولیهای را روی اسکریپتهای پوسته /bin/sh برای احتمال وجود «bashism» (سینتکسها و قابلیتهای مختص بش) انجام میدهد. این ابزار نام اسکریپتهای پوسته را از خط فرمان دریافت کرده و در صورت تشخیص موارد احتمالی bashism، هشدارهایی را صادر میکند.
توجه داشته باشید که تعریف bashism در این زمینه تقریباً معادل «قابلیتهایی از پوسته است که الزامی به پشتیبانی از آنها در استاندارد POSIX وجود ندارد»؛ این بدان معناست که ممکن است برخی از موارد مشخصشده، تحت بخشهای اختیاری POSIX مانند XSI یا User Portability مجاز شمرده شوند.
در مواردی که بین استاندارد POSIX و سیاستهای دبیان (Debian Policy) اختلاف نظر وجود دارد، checkbashisms بهطور پیشفرض افزونههای مجاز طبق سیاست دبیان را میپذیرد، اما گزینههایی را نیز برای بررسی دقیقتر و سختگیرانهتر ارائه میدهد.
گزینهها (OPTIONS)
- --help, -h
- نمایش خلاصهای از گزینهها.
- --newline, -n
- بررسی استفاده از "echo -n" (خارج از استانداردهای POSIX اما الزامی طبق سیاست دبیان ۱۰.۴).
- --posix, -p
- بررسی مواردی که خارج از استانداردهای POSIX هستند اما پشتیبانی از آنها طبق سیاست دبیان ۱۰.۴ الزامی است (شامل -n نیز میشود).
- --force, -f
- اجبار به بررسی هر اسکریپت، حتی در صورتی که در حالت عادی بررسی نمیشد (برای مثال، اگر خط شِبنگ (shebang) حاوی bash یا پوستهای غیر از POSIX باشد، یا به نظر برسد که یک پوششدهنده پوسته است).
- --lint, -l
- عملکرد شبیه به یک ابزار لینتر (linter)، جهت یکپارچهسازی با ویرایشگرهای متن. موارد احتمالی bashism در خروجی استاندارد (stdout) به صورت زیر چاپ خواهند شد:
- {filename}:{lineno}:1: warning: possible bashism; {explanation}
- --extra, -x
- برجسته کردن خطوطی که گرچه حاوی bashism نیستند، اما میتوانند در تعیین اینکه آیا یک مورد خاص یک مثبت کاذب (false positive) قابل چشمپوشی است یا خیر، مفید واقع شوند. برای مثال، پیش از استفاده از "$BASH_ENV" ممکن است بررسی شده باشد که آیا "$BASH" مقداردهی شده است یا خیر.
- --early-fail, -e
- خروج بلافاصله پس از مشاهده اولین خطا.
- --version, -v
- نمایش اطلاعات نسخه و حق نشر (کپیرایت).
کدهای خروج (EXIT VALUES)
در صورتی که هیچ bashism احتمالی یا مشکل دیگری یافت نشود، مقدار کد خروج 0 خواهد بود. در غیر این صورت، برابر با مجموع مقادیر خطای زیر خواهد بود:
- 1
- یک مورد احتمالی bashism تشخیص داده شد.
- 2
- یک فایل بنا به دلایلی نادیده گرفته شد؛ برای مثال به دلیل غیرقابل خواندن بودن یا پیدا نشدن آن. پیام هشدار جزئیات را ارائه خواهد کرد.
- 4
- هیچ موردی از bashism در یک اسکریپت bash یافت نشد.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
برنامه checkbashisms در ابتدا توسط Yann Dirson <dirson@debian.org> به عنوان یک اسکریپت پوسته نوشته شد و سپس توسط Julian Gilbey <jdg@debian.org> با ویژگیهای بسیار بیشتر به زبان Perl بازنویسی شد.
| Debian Utilities | DEBIAN |