پیوست ‎G‎- گزینه‌های خط فرمان

بسیاری از فایل‌های اجرایی، خواه باینری یا اسکریپت پوسته، گزینه‌هایی برای تغییر رفتار زمان اجرایشان قبول می‌کنند. برای مثال: تایپ نمودن ‎command -o‎ از خط فرمان، command را با گزینه o احضار خواهد نمود.


‎G.1‎- گزینه‌های استاندارد خط فرمان

در گذر زمان، یک استاندارد غیر رسمی ناپایداری برای مصداق نشانه‌های گزینه خط فرمان شکل گرفته است. برنامه‌های سودمند گنو با دقت بیشتری از این «استاندارد» برنامه‌های قدیمی‌تر یونیکس پیروی می‌کنند.

به طور سنتی، گزینه‌های خط فرمان یونیکس از یک 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‎

    اجبار: وادار کردن به رونویسی فایل(های) مقصد.

Caution

بسیاری از برنامه‌های یونیکس و لینوکس از این «استاندارد» منحرف می‌شوند، بنابراین فرض کردن آن که یک گزینه داده شده به طور استاندارد رفتار خواهد نمود، خطرناک است. همیشه وقتی تردید دارید برای اطمینان، صفحه man فرمان را بازبینی کنید.

یک جدول کامل گزینه‌های پیشنهادی برای برنامه‌های سودمند گنو در ‎the GNU standards page‎ در دسترس است.


‎G.2‎- گزینه‌های خط فرمان Bash

Bash خودش دارای تعدادی گزینه خط فرمان است. این هم برخی از آنها که مفیدتر هستند.

  • ‎-c‎

    فرمان‌ها را از رشته بعد از آن می‌خواند و هر شناسه را به پارامترهای مکانی تخصیص می‌دهد.

    bash$ bash -c 'set a b c d; IFS="+-;"; echo "$*"'
    a+b+c+d
    

  • ‎-r‎

    ‎--restricted‎

    پوسته یا اسکریپت را در وضعیت محدود شده اجرا می‌کند.

  • ‎--posix‎

    Bash را وادار به همنوایی با وضعیت POSIX می‌نماید.

  • ‎--version‎

    اطلاعات نگارش Bash را نمایش داده و خارج می‌شود.

  • --

    گزینه‌ها را خاتمه می‌دهد. هر چیز پس از آن در خط فرمان، یک شناسه است، نه یک گزینه.