بسیاری از فایلهای اجرایی، خواه باینری یا اسکریپت پوسته، گزینههایی برای تغییر رفتار زمان اجرایشان قبول میکنند. برای مثال: تایپ نمودن command -o از خط فرمان، command را با گزینه o احضار خواهد نمود.
در گذر زمان، یک استاندارد غیر رسمی ناپایداری برای مصداق نشانههای گزینه خط فرمان شکل گرفته است. برنامههای سودمند گنو با دقت بیشتری از این «استاندارد» برنامههای قدیمیتر یونیکس پیروی میکنند.
به طور سنتی، گزینههای خط فرمان یونیکس از یک dash (خط تیره) که به وسیله یک یا چند حرف کوچک دنبال میشود شکل میگیرند. برنامههای سودمند گنو یک خط تیره دوتایی، دنبال شده با یک کلمه کامل یا کلمه مرکب را اضافه نمودند.
دو گزینهای که دارای گستردهترین مقبولیت هستند، عبارتند از:
-h
--help
کمک: پیغام نحوه کاربرد را ارایه داده و خارج میشود.
-v
--version
نگارش: شماره نگارش برنامه را نمایش داده و خارج میشود.
سایر گزینههای رایج عبارتند از:
-a
--all
-l
--list
لیست: لیست کردن فایلها یا شناسهها بدون انجام عمل دیگری.
-o
نام فایل خروجی
-q
--quiet
ساکت: خاموش کردن stdout.
-r
-R
--recursive
بازگشت: عمل کردن بازگشتی (تا پایین درخت دایرکتوری).
-v
--verbose
پُرگو: بیرون دادن اطلاعات اضافی در stdout یا stderr.
-z
--compress
فشرده: اِعمال فشردهسازی (به طور معمول gzip).
اگر چه:
در tar و gawk:
-f
--file
فایل: نام فایل در ادامه میآید.
در cp، mv، rm:
-f
--force
اجبار: وادار کردن به رونویسی فایل(های) مقصد.
بسیاری از برنامههای یونیکس و لینوکس از این «استاندارد» منحرف میشوند، بنابراین فرض کردن آن که یک گزینه داده شده به طور استاندارد رفتار خواهد نمود، خطرناک است. همیشه وقتی تردید دارید برای اطمینان، صفحه man فرمان را بازبینی کنید. |
یک جدول کامل گزینههای پیشنهادی برای برنامههای سودمند گنو در the GNU standards page در دسترس است.
Bash خودش دارای تعدادی گزینه خط فرمان است. این هم برخی از آنها که مفیدتر هستند.
-c
فرمانها را از رشته بعد از آن میخواند و هر شناسه را به پارامترهای مکانی تخصیص میدهد.
bash$ bash -c 'set a b c d; IFS="+-;"; echo "$*"' a+b+c+d
-r
--restricted
پوسته یا اسکریپت را در وضعیت محدود شده اجرا میکند.
--posix
Bash را وادار به همنوایی با وضعیت POSIX مینماید.
--version
اطلاعات نگارش Bash را نمایش داده و خارج میشود.
--
گزینهها را خاتمه میدهد. هر چیز پس از آن در خط فرمان، یک شناسه است، نه یک گزینه.