انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

bash - آنلاین در ابر

bash را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور bash است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


bash - GNU Bourne-Again SHell

خلاصه


بر هم زدن [گزینه ها] [command_string | فایل]

کپی رایت


Bash دارای حق چاپ (C) 1989-2013 توسط بنیاد نرم افزار آزاد، Inc.

شرح


بر هم زدن است sh-مفسر زبان فرمان سازگار که دستورات خوانده شده را اجرا می کند
ورودی استاندارد یا از یک فایل بر هم زدن همچنین دارای ویژگی های مفیدی است کورن و C
پوسته (ksh و csh).

بر هم زدن در نظر گرفته شده است که اجرای منطبق بر بخش Shell و Utilities باشد
مشخصات IEEE POSIX (استاندارد IEEE 1003.1). بر هم زدن می توان آن را به صورت POSIX- پیکربندی کرد
مطابق پیش فرض

OPTIONS


همه گزینه‌های پوسته تک کاراکتری که در توضیحات مستند شده‌اند تنظیم
هنگامی که پوسته فراخوانی می شود، دستور buildin را می توان به عنوان گزینه استفاده کرد. علاوه بر این، بر هم زدن
هنگام فراخوانی گزینه های زیر را تفسیر می کند:

-c اگر -c گزینه موجود است، سپس دستورات از اولین غیر گزینه خوانده می شوند
استدلال command_string. اگر استدلال هایی بعد از command_string، آنها
با شروع به پارامترهای موقعیتی اختصاص داده می شوند $0.
-i اگر -i گزینه موجود است، پوسته موجود است تعاملی.
-l ساخت بر هم زدن طوری عمل کنید که انگار به عنوان یک پوسته ورود فراخوانی شده است (نگاه کنید به فراخوانی در زیر).
-r اگر -r گزینه موجود است، پوسته تبدیل می شود منحصر (نگاه کنید به محصور پوسته
در زیر).
-s اگر -s گزینه موجود است، یا اگر پس از پردازش گزینه هیچ آرگومان باقی نماند،
سپس دستورات از ورودی استاندارد خوانده می شوند. این گزینه اجازه می دهد تا
پارامترهای موقعیتی که باید هنگام فراخوانی یک پوسته تعاملی تنظیم شوند.
-D فهرستی از تمام رشته‌های نقل‌قول دوگانه که قبل از آن $ روی استاندارد چاپ شده است
خروجی اینها رشته هایی هستند که در معرض ترجمه زبان قرار می گیرند
محل فعلی نیست C or POSIX. این حاکی از -n گزینه؛ هیچ فرمانی نخواهد بود
اعدام شود.
[-+]O [shopt_option]
shopt_option یکی از گزینه های پوسته پذیرفته شده توسط خرید ساخته شده (نگاه کنید به
پوسته ساخته شده دستورات زیر). اگر shopt_option حاضر است، -O مقدار را تعیین می کند
آن گزینه؛ +O آن را از حالت تنظیم خارج می کند. اگر shopt_option ارائه نشده است، نام و
مقادیر گزینه های پوسته پذیرفته شده توسط خرید روی استاندارد چاپ می شوند
خروجی اگر گزینه فراخوانی باشد +O، خروجی در یک فرمت نمایش داده می شود
که ممکن است دوباره به عنوان ورودی استفاده شود.
-- A -- پایان گزینه ها را نشان می دهد و پردازش گزینه های بیشتر را غیرفعال می کند. هر
استدلال پس از -- به عنوان نام فایل ها و آرگومان ها در نظر گرفته می شوند. یک استدلال از -
برابر است با --.

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

-- اشکال زدا
ترتیبی دهید که نمایه دیباگر قبل از شروع پوسته اجرا شود. روشن
حالت اشکال زدایی گسترده (توضیحات را ببینید extdebug گزینه به خرید
ساخته شده در زیر).
--dump-po-strings
معادل با -D، اما خروجی در گنو است متن po فایل (شیء قابل حمل).
فرمت.
- رشته‌ها
معادل با -D.
--کمک نمایش پیام استفاده در خروجی استاندارد و خروج با موفقیت.
--init-file پرونده
-rcfile پرونده
اجرای دستورات از پرونده به جای فایل اولیه سازی گسترده سیستم
/etc/bash.bashrc و فایل اولیه شخصی استاندارد ~ / .bashrc اگر
پوسته تعاملی است (نگاه کنید به فراخوانی در زیر).

--وارد شدن
معادل با -l.

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

--noprofile
فایل راه‌اندازی در سراسر سیستم را نخوانید / etc / profile یا هر شخصی
فایل های اولیه ~ / .bash_profile, ~/.bash_login، یا of /. پروفایل. به صورت پیش فرض،
بر هم زدن این فایل ها را زمانی که به عنوان پوسته ورود فراخوانی می شوند می خواند (نگاه کنید به فراخوانی در زیر).

-- نورک فایل اولیه سازی گسترده سیستم را بخوانید و اجرا نکنید /etc/bash.bashrc و
فایل اولیه سازی شخصی ~ / .bashrc اگر پوسته تعاملی باشد. این
اگر پوسته به عنوان فراخوانی شود، گزینه به طور پیش فرض روشن است sh.

--posix
تغییر رفتار بر هم زدن که در آن عملیات پیش فرض با POSIX متفاوت است
استاندارد برای مطابقت با استاندارد (پوزيكس حالت) دیدن ببینید هم در زیر برای ارجاع به
سندی که نحوه تأثیر حالت posix بر رفتار bash را توضیح می دهد.

--محصور
پوسته محدود می شود (نگاه کنید به محصور پوسته در زیر).

-- پرحرف
معادل با -v.

- نسخه
نمایش اطلاعات نسخه برای این نمونه از بر هم زدن روی خروجی استاندارد و خروجی
با موفقیت.

ادله


اگر آرگومان ها پس از پردازش گزینه باقی بمانند، و نه -c و نه -s گزینه بوده است
ارائه شده، اولین آرگومان به عنوان نام یک فایل حاوی پوسته فرض می شود
دستورات اگر بر هم زدن به این صورت استناد می شود، $0 روی نام فایل تنظیم شده است و
پارامترهای موقعیتی روی آرگومان های باقی مانده تنظیم می شوند. بر هم زدن می خواند و اجرا می کند
از این فایل دستور می دهد، سپس خارج می شود. بر هم زدن's وضعیت خروج وضعیت خروج از آخرین است
دستور اجرا شده در اسکریپت اگر هیچ فرمانی اجرا نشود، وضعیت خروج 0 است
ابتدا سعی می شود فایل را در دایرکتوری فعلی باز کند و اگر فایلی پیدا نشد،
سپس پوسته دایرکتوری های موجود را جستجو می کند PATH برای فیلمنامه

فراخوانی


A ورود صدف یکی است که اولین کاراکتر آرگومان صفر آن a است -، یا یکی با شروع شد
la --وارد شدن گزینه.

An تعاملی پوسته ای است که بدون آرگومان های غیر گزینه ای و بدون آرگومان شروع شده است -c انتخاب
که ورودی استاندارد و خطای آن هر دو به پایانه ها متصل هستند (همانطور که توسط
ایستایی(3))، یا یکی با شروع شد -i گزینه. PS1 تنظیم شده است و $- شامل i if بر هم زدن is
تعاملی، اجازه می دهد تا یک اسکریپت پوسته یا یک فایل راه اندازی این حالت را آزمایش کند.

پاراگراف های زیر نحوه انجام آن را شرح می دهند بر هم زدن فایل های راه اندازی خود را اجرا می کند. اگر هر یک از
فایل ها وجود دارند اما قابل خواندن نیستند، بر هم زدن یک خطا گزارش می دهد تایلدها در نام فایل ها گسترش می یابند
همانطور که در زیر توضیح داده شده است تیلد توسعه در بازپرداخت بخش.

چه زمانی بر هم زدن به عنوان یک پوسته ورود به سیستم تعاملی یا به عنوان یک پوسته غیر تعاملی با
--وارد شدن گزینه، ابتدا دستورات را از فایل می خواند و اجرا می کند / etc / profile، در صورتی که
فایل وجود دارد. پس از خواندن آن فایل به دنبال آن می گردد ~ / .bash_profile, ~/.bash_loginو
of /. پروفایل، به ترتیب، و دستورات را از اولین موجود می خواند و اجرا می کند
و قابل خواندن است. در --noprofile هنگامی که پوسته شروع به مهار می کند، ممکن است از گزینه استفاده شود
این رفتار

هنگامی که یک پوسته ورود به سیستم خارج می شود، بر هم زدن دستورات را از فایل می خواند و اجرا می کند ~/.bash_logout,
اگر وجود داشته باشد

هنگامی که یک پوسته تعاملی که پوسته ورود نیست شروع می شود، بر هم زدن می خواند و اجرا می کند
دستورات از /etc/bash.bashrc و ~ / .bashrc، در صورت وجود این فایل ها. این ممکن است مهار شود
با استفاده از -- نورک گزینه. -rcfile پرونده گزینه مجبور خواهد شد بر هم زدن برای خواندن و اجرا
دستورات از پرونده بجای /etc/bash.bashrc و ~ / .bashrc.

چه زمانی بر هم زدن به صورت غیر تعاملی شروع می شود، برای مثال برای اجرای یک اسکریپت پوسته، به دنبال آن می گردد
متغیر BASH_ENV در محیط، اگر در آنجا ظاهر شود، ارزش خود را گسترش می دهد و استفاده می کند
مقدار گسترش یافته به عنوان نام یک فایل برای خواندن و اجرا. بر هم زدن طوری رفتار می کند که انگار
دستور زیر اجرا شد:
اگر [ -n "$BASH_ENV" ]; سپس . "$BASH_ENV"؛ فی
اما ارزش PATH متغیر برای جستجوی نام فایل استفاده نمی شود.

If بر هم زدن با نام فراخوانی می شود sh، سعی می کند رفتار راه اندازی تاریخ را تقلید کند
نسخه های sh تا آنجا که ممکن است، در حالی که مطابق با استاندارد POSIX نیز هست.
هنگامی که به عنوان یک پوسته ورود به سیستم تعاملی یا یک پوسته غیر تعاملی با --وارد شدن
گزینه، ابتدا سعی می کند دستورات را بخواند و اجرا کند / etc / profile و of /. پروفایل,
به ترتیب را --noprofile گزینه ممکن است برای مهار این رفتار استفاده شود. هنگام فراخوانی
به عنوان یک پوسته تعاملی با نام sh, بر هم زدن به دنبال متغیر می گردد ENV، آن را گسترش می دهد
مقدار اگر تعریف شده باشد، و از مقدار بسط یافته به عنوان نام یک فایل برای خواندن و استفاده می کند
اجرا کردن. از آنجایی که یک پوسته به عنوان فراخوانی می شود sh تلاشی برای خواندن و اجرای دستورات از
هر فایل راه اندازی دیگر، -rcfile گزینه تاثیری ندارد یک پوسته غیر تعاملی
با نام احضار شده است sh سعی نمی کند هیچ فایل راه اندازی دیگری را بخواند. هنگام فراخوانی
as sh, بر هم زدن وارد می شود پوزيكس حالت پس از خواندن فایل های راه اندازی

چه زمانی بر هم زدن در آغاز شده است پوزيكس حالت، همانطور که با --posix گزینه خط فرمان، به شرح زیر است
استاندارد POSIX برای فایل های راه اندازی در این حالت، پوسته های تعاملی گسترش می یابند ENV
متغیر و دستورات از فایلی که نام آن گسترش یافته است خوانده و اجرا می شوند
ارزش. هیچ فایل راه اندازی دیگری خوانده نمی شود.

بر هم زدن تلاش می کند با ورودی استاندارد متصل به a مشخص کند که چه زمانی اجرا می شود
اتصال به شبکه، مانند زمانی که توسط دیمون پوسته راه دور اجرا می شود، معمولا rshd، و یا
دیمون پوسته ایمن ssh. اگر بر هم زدن مشخص می کند که به این شکل اجرا می شود، می خواند
و دستورات را از ~ / .bashrc و ~ / .bashrc، اگر این فایل ها وجود داشته باشند و قابل خواندن باشند.
اگر به عنوان فراخوانی شود این کار را انجام نخواهد داد sh. -- نورک ممکن است از گزینه برای جلوگیری از این استفاده شود
رفتار و -rcfile ممکن است از گزینه برای اجبار خواندن فایل دیگری استفاده شود، اما
نه نه rshd نه ssh به طور کلی پوسته را با آن گزینه ها فراخوانی کنید یا به آنها اجازه دهید
مشخص شده.

اگر پوسته با کاربر مؤثر (گروه) شروع شود، شناسه با کاربر واقعی برابر نیست
شناسه (گروهی) و -p گزینه ارائه نشده است، هیچ فایل راه اندازی خوانده نمی شود، توابع پوسته
از محیط به ارث نمی رسند، SHELLOPTS, BASHOPTS, CDPATHو GLOBIGNORE
متغیرها اگر در محیط ظاهر شوند نادیده گرفته می شوند و شناسه کاربر موثر است
روی شناسه کاربری واقعی تنظیم کنید. اگر -p گزینه در فراخوانی، رفتار راه اندازی ارائه می شود
یکسان است، اما شناسه کاربری موثر بازنشانی نمی شود.

تعاریف


تعاریف زیر در بقیه این سند استفاده می شود.
سفید یک فاصله یا برگه.
کلمه دنباله ای از شخصیت ها به عنوان یک واحد در نظر گرفته شده توسط پوسته. همچنین به عنوان a
رمز.
نام A کلمه فقط از نویسه های الفبایی و زیرخط و شروع تشکیل شده است
با حروف الفبا یا زیرخط. همچنین به عنوان یک شناسه.
فرا شخصیت
شخصیتی که وقتی نقل قول نمی شود، کلمات را از هم جدا می کند. یکی از موارد زیر:
| & ; ( ) < > فضا برگ
کنترل اپراتور
A رمز که یک عملکرد کنترلی را انجام می دهد. یکی از نمادهای زیر است:
|| & && ; ;; ( ) | |&

احیا شده است واژه


رزرو شده کلمات کلماتی هستند که معنای خاصی برای پوسته دارند. کلمات زیر
زمانی که نقل قول نشده باشند و یا اولین کلمه یک دستور ساده به عنوان رزرو شناخته می شوند
(نگاه کنید به پوسته دستور زبان زیر) یا کلمه سوم الف مورد or برای فرمان:

! مورد coproc do انجام شده الیف دیگر که C fi برای تابع if in را انتخاب کنید سپس تا در حین { }
زمان [[ ]]

پوسته دستور زبان


ساده دستورات
A ساده فرمان دنباله ای از تخصیص متغیر اختیاری است که به دنبال آن است سفید-
کلمات و تغییر مسیرها را از هم جدا کرده و با a خاتمه می دهند کنترل اپراتور. اولین کلمه
دستوری که باید اجرا شود را مشخص می کند و به عنوان آرگومان صفر ارسال می شود. کلمات باقی مانده
به عنوان آرگومان به فرمان فراخوانی ارسال می شوند.

مقدار بازگشتی a ساده فرمان وضعیت خروج آن یا 128+ استn اگر دستور باشد
با سیگنال خاتمه می یابد n.

خطوط لوله
A خط لوله دنباله ای از یک یا چند دستور است که توسط یکی از اپراتورهای کنترل جدا شده است
| or |&. قالب خط لوله به صورت زیر است:

[زمان [-p]] [ ! ] فرمان [[||&] فرمان 2 ...]

خروجی استاندارد از فرمان از طریق یک لوله به ورودی استاندارد متصل می شود فرمان 2.
این اتصال قبل از هر تغییر مسیری که توسط دستور مشخص شده است انجام می شود (نگاه کنید به
تغییر مسیر زیر). اگر |& استفاده می شود، فرمانخطای استاندارد، علاوه بر استاندارد آن
خروجی، متصل است فرمان 2ورودی استاندارد از طریق لوله. مختصر است
2> و 1 |. این تغییر جهت ضمنی خطای استاندارد به خروجی استاندارد است
پس از هر تغییر مسیر مشخص شده توسط دستور انجام می شود.

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

اگر زمان کلمه رزرو شده قبل از خط لوله، زمان سپری شده و همچنین کاربر و سیستم است
مصرف شده توسط اجرای آن هنگام خاتمه خط لوله گزارش می شود. را -p انتخاب
فرمت خروجی را به فرمت مشخص شده توسط POSIX تغییر می دهد. وقتی پوسته داخل است پوزيكس حالت، آن
تشخیص نمی دهد زمان اگر نشانه بعدی با «-» شروع شود به عنوان یک کلمه رزرو شده. در
TIMEFORMAT متغیر ممکن است روی یک رشته فرمت تنظیم شود که نحوه زمان بندی را مشخص می کند
اطلاعات باید نمایش داده شود؛ توضیحات را ببینید TIMEFORMAT زیر صدف متغیر
زیر کلیک کنید.

وقتی پوسته داخل است پوزيكس حالت, زمان ممکن است با یک خط جدید دنبال شود. در این مورد،
پوسته کل زمان مصرف شده توسط کاربر و سیستم توسط پوسته و فرزندانش را نمایش می دهد. در
TIMEFORMAT متغیر ممکن است برای تعیین فرمت اطلاعات زمان استفاده شود.

هر دستور در یک خط لوله به عنوان یک فرآیند جداگانه (یعنی در یک زیر پوسته) اجرا می شود.

لیست
A فهرست دنباله ای از یک یا چند خط لوله است که توسط یکی از اپراتورها از هم جدا شده اند ;, &, &&,
or ||و به صورت اختیاری توسط یکی از آنها خاتمه می یابد ;, &، یا .

از میان این اپراتورهای لیست، && و || دارای اولویت برابر و به دنبال آن ; و &، که
تقدم مساوی

ممکن است دنباله ای از یک یا چند خط جدید در a ظاهر شود فهرست به جای نقطه ویرگول برای محدود کردن
دستورات

اگر فرمانی توسط اپراتور کنترل خاتمه یابد &، پوسته دستور را در داخل اجرا می کند
la زمینه در یک زیر پوسته پوسته منتظر پایان فرمان نمی ماند و
وضعیت بازگشت 0 است. دستورات جدا شده با a ; به صورت متوالی اجرا می شوند؛ پوسته منتظر است
برای هر فرمان به نوبه خود خاتمه یابد. وضعیت بازگشت وضعیت خروج آخرین است
دستور اجرا شد

لیست‌های AND و OR دنباله‌ای از یکی از خطوط لوله هستند که توسط خط لوله جدا شده‌اند && و || کنترل
اپراتورها به ترتیب لیست های AND و OR با ارتباط سمت چپ اجرا می شوند. یک و
لیست دارای فرم است

فرمان 1 && فرمان 2

فرمان 2 اجرا می شود اگر و فقط اگر فرمان 1 وضعیت خروج صفر را برمی گرداند.

یک لیست OR دارای فرم است

فرمان 1 || فرمان 2

فرمان 2 اگر و فقط اگر اجرا می شود فرمان 1 وضعیت خروج غیر صفر را برمی گرداند. بازگشت
وضعیت لیست های AND و OR وضعیت خروج آخرین فرمان اجرا شده در لیست است.

ترکیب دستورات
A ترکیب فرمان یکی از موارد زیر است. در بیشتر موارد الف فهرست در یک فرمان
توضیحات ممکن است با یک یا چند خط جدید از بقیه دستور جدا شود و ممکن است
پس از آن یک خط جدید به جای نقطه ویرگول وجود دارد.

(فهرست) فهرست در یک محیط زیر پوسته اجرا می شود (نگاه کنید به COMMAND اعدام محیط زیست
زیر). تخصیص متغیر و دستورات داخلی که روی پوسته تأثیر می گذارد
پس از اتمام فرمان، محیط فعال باقی نمی ماند. وضعیت بازگشت
وضعیت خروج از است فهرست.

{ فهرست; }
فهرست به سادگی در محیط پوسته فعلی اجرا می شود. فهرست باید فسخ شود
با خط جدید یا نقطه ویرگول. این به عنوان یک شناخته می شود گروه فرمان. وضعیت بازگشت
وضعیت خروج از است فهرست. توجه داشته باشید که برخلاف متاکراکترها ( و ), { و }
هستند محفوظ می باشد کلمات و باید در جایی رخ دهد که یک کلمه رزرو شده مجاز است
شناسایی شده. از آنجایی که آنها باعث گسست کلمه نمی شوند، باید از آنها جدا شوند فهرست
با فضای خالی یا متاکاراکتر پوسته دیگر.

((بیان))
La بیان بر اساس قوانینی که در زیر توضیح داده شده است ارزیابی می شود حساب
ارزیابی. اگر مقدار عبارت غیر صفر باشد، وضعیت بازگشتی 0 است.
در غیر این صورت وضعیت بازگشت 1 است. این دقیقاً معادل است اجازه "بیان".

[[ بیان ]]
بسته به ارزیابی عبارت شرطی، وضعیت 0 یا 1 را برگردانید
بیان. عبارات از عبارات اولیه تشریح شده در زیر تشکیل شده اند
شرطی اصطلاحات. تقسیم کلمه و گسترش نام مسیر انجام نمی شود
در کلمات بین [[ و ]]; بسط tilde، پارامتر و متغیر
بسط، بسط حسابی، جایگزینی دستور، جایگزینی فرآیند، و
حذف نقل قول انجام می شود. عملگرهای شرطی مانند -f باید بدون نقل قول باشد
به عنوان مقدماتی شناخته شود.

هنگامی که با استفاده می شود [[از < و > عملگرها از نظر واژگانی با استفاده از جریان مرتب می کنند
محلی است.

توضیحات را ببینید آزمون دستور داخلی (بخش دستورات SHELL BUILTIN در زیر) برای
مدیریت پارامترها (به عنوان مثال پارامترهای از دست رفته).

هنگامی که == و != از عملگرها استفاده می شود، رشته سمت راست عملگر است
یک الگو در نظر گرفته شده و مطابق با قوانینی که در زیر توضیح داده شده است مطابقت داده می شود الگو
تطابق، گویی که extglob گزینه پوسته فعال شد. در = عملگر معادل است
==. اگر گزینه پوسته nocasmatch فعال است، مسابقه بدون توجه به انجام می شود
مورد حروف الفبا مقدار بازگشتی 0 است اگر رشته مطابقت داشته باشد (==) و یا
مطابقت ندارد (!=) الگو، و 1 در غیر این صورت. هر بخشی از الگو ممکن است نقل قول شود
برای اینکه قسمت نقل قول شده به عنوان یک رشته مطابقت داده شود.

یک عملگر باینری اضافی، =~، با همان اولویت موجود است == و !=.
هنگامی که از آن استفاده می شود، رشته سمت راست عملگر یک منظم توسعه یافته در نظر گرفته می شود
بیان و مطابق با آن (مانند regex(3)). مقدار بازگشتی اگر رشته باشد 0 است
با الگو مطابقت دارد و 1 در غیر این صورت. اگر عبارت منظم به صورت نحوی باشد
نادرست است، مقدار بازگشتی عبارت شرطی 2 است. اگر گزینه پوسته باشد
nocasmatch فعال است، تطابق بدون توجه به حروف الفبا انجام می شود
شخصیت ها. هر بخشی از الگو ممکن است نقل قول شود تا قسمت نقل‌شده مجبور شود
مطابق با یک رشته عبارات براکت در عبارات منظم باید درمان شوند
با دقت، زیرا کاراکترهای نقل قول معمولی معانی خود را بین پرانتز از دست می دهند. اگر
الگو در یک متغیر پوسته ذخیره می‌شود، و به نقل از نیروی بسط متغیر کل را می‌نویسد
الگویی که باید به عنوان یک رشته مطابقت داده شود. زیر رشته هایی که با عبارات فرعی در پرانتز مطابقت دارند
در عبارت منظم در متغیر آرایه ذخیره می شوند BASH_REMATCH. عنصر
of BASH_REMATCH با شاخص 0 بخشی از رشته است که با کل معمولی مطابقت دارد
اصطلاح. عنصر از BASH_REMATCH با شاخص n بخشی از رشته است
مطابقت دادن nعبارت فرعی پرانتز شده

عبارات را می توان با استفاده از عملگرهای زیر که به ترتیب نزولی فهرست شده اند ترکیب کرد
تقدم:

( بیان )
مقدار را برمی‌گرداند بیان. این ممکن است برای نادیده گرفتن حالت عادی استفاده شود
تقدم عملگرها
! بیان
درست است اگر بیان نادرست است
بیان 1 && بیان 2
اگر هر دو درست باشد بیان 1 و بیان 2 درست هستند
بیان 1 || بیان 2
اگر هر کدام درست است بیان 1 or بیان 2 درست است.

La && و || اپراتورها ارزیابی نمی کنند بیان 2 اگر ارزش بیان 1 is
برای تعیین مقدار بازگشتی کل عبارت شرطی کافی است.

برای نام [[ in [ کلمه ... ] ] ] do فهرست ; انجام شده
لیست کلمات زیر in گسترش یافته است و لیستی از موارد را ایجاد می کند. در
متغیر نام به هر یک از عناصر این لیست به نوبه خود تنظیم می شود و فهرست اجرا می شود
هر زمان. اگر in کلمه حذف شده است، برای فرمان اجرا می شود فهرست برای هر کدام یک بار
پارامتر موقعیتی که تنظیم شده است (نگاه کنید به پارامترهای زیر). وضعیت بازگشت است
وضعیت خروج آخرین فرمانی که اجرا می شود. اگر گسترش موارد
پیروی in منجر به یک لیست خالی می شود، هیچ فرمانی اجرا نمی شود و برمی گردد
وضعیت 0 است.

برای (( EXPR1 ; EXPR2 ; EXPR3 )) ؛ do فهرست ; انجام شده
اول، عبارت حسابی EXPR1 بر اساس قوانین ارزیابی می شود
در زیر شرح داده شده است حساب ارزیابی. عبارت حسابی EXPR2 is
سپس به طور مکرر ارزیابی می شود تا زمانی که به صفر برسد. هر زمان EXPR2 ارزیابی می کند به
یک مقدار غیر صفر، فهرست اجرا می شود و عبارت حسابی EXPR3 is
ارزیابی شد. اگر هر عبارتی حذف شود، به گونه ای رفتار می کند که گویی به 1 ارزیابی می شود
مقدار بازگشتی وضعیت خروج آخرین فرمان در است فهرست که اجرا می شود، یا
اگر هر یک از عبارات نامعتبر باشد، false است.

را انتخاب کنید نام [ in کلمه ] ؛ do فهرست ; انجام شده
لیست کلمات زیر in گسترش یافته و فهرستی از موارد را ایجاد می کند. مجموعه ای از
کلمات بسط یافته بر روی خطای استاندارد چاپ می شوند که قبل از هر کدام یک عدد وجود دارد. اگر
in کلمه حذف شده است، پارامترهای موقعیتی چاپ می شوند (نگاه کنید به پارامترهای در زیر).
La PS3 سپس فرمان نمایش داده می شود و یک خط از ورودی استاندارد خوانده می شود. اگر
خط از یک عدد مربوط به یکی از کلمات نمایش داده شده تشکیل شده است، سپس از
ارزش نام به آن کلمه تنظیم شده است. اگر خط خالی باشد، کلمات و اعلان ها هستند
دوباره نمایش داده شد اگر EOF خوانده شود، دستور کامل می شود. هر مقدار دیگری خوانده شود
علل نام به null تنظیم شود. خط خوانده شده در متغیر ذخیره می شود پاسخ.
فهرست بعد از هر انتخاب تا a اجرا می شود شکستن فرمان اجرا می شود. خروج
وضعیت را انتخاب کنید وضعیت خروج آخرین فرمان اجرا شده در است فهرست، یا صفر
اگر هیچ دستوری اجرا نشد

مورد کلمه in [[(] الگو [ | الگو ]...) فهرست ;; ]... که C
A مورد دستور ابتدا گسترش می یابد کلمه، و سعی می کند آن را با هر یک مطابقت دهد الگو in
نوبت، با استفاده از قوانین تطبیق مشابه برای گسترش نام مسیر (نگاه کنید به نام مسیر
توسعه زیر). در کلمه با استفاده از بسط tilde، پارامتر و
بسط متغیر، جایگزینی حسابی، جایگزینی دستور، فرآیند
جایگزینی و حذف نقل قول هر یک الگو بررسی شده با استفاده از tilde گسترش می یابد
بسط، بسط پارامتر و متغیر، جایگزینی حسابی، فرمان
جایگزینی و جایگزینی فرآیند. اگر گزینه پوسته nocasmatch is
فعال باشد، تطابق بدون توجه به حروف الفبا انجام می شود
شخصیت ها. هنگامی که یک مسابقه یافت می شود، مربوطه فهرست اجرا می شود. اگر ;;
عملگر استفاده می شود، هیچ تطابق بعدی پس از اولین الگو انجام نمی شود
همخوانی داشتن. استفاده كردن ;& در محل ;; باعث ادامه اجرا با فهرست
مرتبط با مجموعه بعدی الگوها. استفاده كردن ;;& در محل ;; باعث می شود
پوسته برای آزمایش لیست الگوی بعدی در عبارت، در صورت وجود، و اجرای هر کدام
مرتبط است فهرست در یک مسابقه موفق در صورت عدم وجود الگو، وضعیت خروج صفر است
مسابقات. در غیر این صورت، وضعیت خروج آخرین فرمانی است که در آن اجرا شده است فهرست.

if فهرست; سپس فهرست؛ [ الیف فهرست; سپس فهرست; ] ... [ دیگر فهرست؛ ] fi
La if فهرست اجرا می شود. اگر وضعیت خروج آن صفر باشد، سپس فهرست اعدام شده است
در غیر این صورت، هر کدام الیف فهرست به نوبه خود اجرا می شود و اگر وضعیت خروج آن صفر باشد
مربوط به سپس فهرست اجرا می شود و دستور کامل می شود. در غیر این صورت، دیگر
فهرست در صورت وجود اجرا می شود. وضعیت خروج، وضعیت خروج آخرین است
دستور اجرا می شود یا اگر هیچ شرطی درست نباشد صفر می شود.

در حین لیست-1; do لیست-2; انجام شده
تا لیست-1; do لیست-2; انجام شده
La در حین دستور به طور مداوم لیست را اجرا می کند لیست-2 به اندازه آخرین دستور
در لیست لیست-1 وضعیت خروج صفر را برمی گرداند. در تا فرمان یکسان است
به در حین دستور، با این تفاوت که تست نفی می شود. لیست-2 تا زمانی که اجرا می شود
به عنوان آخرین دستور در لیست-1 وضعیت خروج غیر صفر را برمی گرداند. وضعیت خروج از
la در حین و تا دستورات وضعیت خروج آخرین فرمان اجرا شده در آن است
لیست-2، یا صفر اگر هیچ کدام اجرا نشد.

فرآیندهای مشترک
A پردازش مشترک یک فرمان پوسته است که قبل از آن coproc کلمه رزرو شده یک فرآیند مشترک است
به صورت ناهمزمان در یک زیرشل اجرا می شود، گویی که فرمان با آن خاتمه یافته است &
اپراتور کنترل، با یک لوله دو طرفه بین پوسته اجرا کننده و
پردازش مشترک

فرمت یک فرآیند مشترک:

coproc [نام] فرمان [تغییرمسیر]

این یک coprocess به نام ایجاد می کند نام. اگر نام ارائه نشده است، نام پیش فرض است COPROC.
نام نباید عرضه شود اگر فرمان هست یک ساده فرمان (به بالا نگاه کن)؛ در غیر این صورت، آن است
به عنوان اولین کلمه دستور ساده تفسیر می شود. هنگامی که coprocess اجرا می شود،
پوسته یک متغیر آرایه ایجاد می کند (نگاه کنید به آرایه ها زیر) نامگذاری شده است نام در متن
اجرای پوسته خروجی استاندارد از فرمان از طریق یک لوله به یک فایل متصل می شود
توصیفگر در پوسته در حال اجرا، و آن توصیفگر فایل به آن اختصاص داده شده است نام[0]. در
ورودی استاندارد از فرمان از طریق یک لوله به یک توصیفگر فایل در اجرا متصل می شود
پوسته، و آن توصیفگر فایل به آن اختصاص داده شده است نام[1]. این لوله قبلا تاسیس شده است
هر تغییر مسیری که توسط دستور مشخص شده است (نگاه کنید به تغییر مسیر زیر). توصیف کننده های فایل
می تواند به عنوان آرگومان هایی برای پوسته دستورات و تغییر مسیرها با استفاده از کلمه استاندارد استفاده شود
بسط ها توصیفگرهای فایل در زیر پوسته ها موجود نیستند. شناسه فرآیند
پوسته ایجاد شده برای اجرای coprocess به عنوان مقدار متغیر موجود است نام_PID.
La صبر کنيد دستور داخلی ممکن است برای منتظر ماندن برای پایان دادن به coprocess استفاده شود.

از آنجایی که coprocess به عنوان یک دستور ناهمزمان ایجاد می شود، coproc همیشه دستور بده
موفقیت را برمی گرداند وضعیت بازگشت یک فرآیند مشترک، وضعیت خروج از است فرمان.

صدف عملکرد تعاریف
تابع پوسته یک شی است که مانند یک دستور ساده فراخوانی می شود و یک ترکیب را اجرا می کند
دستور با مجموعه جدیدی از پارامترهای موقعیتی. توابع پوسته به صورت زیر اعلام می شوند:

نام () ترکیب - فرمان [تغییر مسیر]
تابع نام [()] ترکیب - فرمان [تغییر مسیر]
این یک تابع به نام را تعریف می کند نام. کلمه رزرو شده تابع اختیاری است اگر
la تابع کلمه رزرو شده ارائه شده است، پرانتز اختیاری است. در بدن of
تابع دستور مرکب است ترکیب - فرمان (نگاه کنید به ترکیب دستورات
در بالا). آن دستور معمولاً a است فهرست از دستورات بین { و }، اما ممکن است هر کدام باشد
فرمان ذکر شده در زیر ترکیب دستورات در بالا. ترکیب - فرمان اجرا می شود
هر زمان که نام به عنوان نام یک دستور ساده مشخص می شود. زمانی که در پوزيكس حالت,
نام ممکن است نام یکی از POSIX نباشد ویژه داخلی. هر گونه تغییر مسیر
(نگاه کنید به تغییر مسیر در زیر) مشخص می شود زمانی که یک تابع تعریف می شود زمانی که
تابع اجرا می شود. وضعیت خروج از یک تعریف تابع صفر است مگر اینکه a
خطای نحوی رخ می دهد یا یک تابع فقط خواندنی با همین نام از قبل وجود دارد. چه زمانی
اجرا شده، وضعیت خروج از یک تابع، وضعیت خروج آخرین فرمان است
در بدن اعدام شد. (دیدن توابع زیر.)

نظرات


در یک پوسته غیر تعاملی، یا یک پوسته تعاملی که در آن نظرات_تعاملی
گزینه به خرید داخلی فعال است (نگاه کنید به پوسته ساخته شده دستورات زیر)، یک کلمه
شروع با # باعث می شود آن کلمه و تمام کاراکترهای باقی مانده در آن خط نادیده گرفته شوند.
یک پوسته تعاملی بدون نظرات_تعاملی گزینه فعال اجازه نمی دهد
نظرات. را نظرات_تعاملی گزینه به طور پیش فرض در پوسته های تعاملی روشن است.

نقل قول


نقل قول برای حذف معنای خاص کاراکترها یا کلمات خاص به پوسته استفاده می شود.
نقل قول را می توان برای غیرفعال کردن رفتار ویژه برای شخصیت های خاص، برای جلوگیری استفاده کرد
برای جلوگیری از گسترش پارامتر، کلمات رزرو شده را حفظ کرد.

هر کدام از متاکاراکترها ذکر شده در بالا در زیر تعاریف برای پوسته معنای خاصی دارد
و اگر بخواهد خودش را نشان دهد باید نقل شود.

هنگامی که از امکانات توسعه تاریخچه فرمان استفاده می شود (نگاه کنید به تاریخچه بازپرداخت
زیر تاریخ توسعه شخصیت، معمولا !، برای جلوگیری از تاریخ باید نقل شود
به گسترش است.

سه مکانیسم نقل قول وجود دارد: فرار شخصیت، نقل قول های تکی و دوبل
نقل قول ها

اسلش بدون نقل قول (\) است فرار شخصیت. این ارزش تحت اللفظی را حفظ می کند
کاراکتر بعدی که در ادامه می آید، به استثنای . اگر یک \جفت
ظاهر می شود، و اسلش به خودی خود نقل قول نمی شود \به عنوان یک خط در نظر گرفته می شود
ادامه (یعنی از جریان ورودی حذف شده و عملاً نادیده گرفته می شود).

محصور کردن کاراکترها در گیومه تک، ارزش واقعی هر کاراکتر را حفظ می کند
نقل قول ها یک نقل قول ممکن است بین نقل قول های تکی وجود نداشته باشد، حتی زمانی که قبل از آن a
بک اسلش

قرار دادن کاراکترها در گیومه های دوتایی، ارزش تحت اللفظی همه کاراکترهای درون آن را حفظ می کند
نقل قول ها، به استثنای $, `, \و هنگامی که بسط تاریخ فعال است، !.
کاراکتر $ و ` معنای خاص خود را در دو نقل قول حفظ می کنند. بک اسلش
معنی خاص خود را تنها زمانی حفظ می کند که یکی از نویسه های زیر دنبال شود: $, `,
", \، یا . یک نقل قول مضاعف ممکن است با قبل از آن، در داخل نقل قول های دوگانه نقل قول شود
با بک اسلش اگر فعال باشد، بسط تاریخ انجام می شود مگر اینکه یک ! ظاهر می شود
در دو گیومه با استفاده از بک اسلش فرار می کند. اسلش قبل از ! نیست
حذف شده.

پارامترهای خاص * و @ هنگامی که در گیومه های دوگانه قرار می گیرند معنای خاصی دارند (نگاه کنید به پارامترهای
در زیر).

کلمات فرم $'رشتهبه ویژه درمان می شوند. کلمه گسترش می یابد به رشته، با
طبق استاندارد ANSI C، کاراکترهای بدون اسلش جایگزین شده اند. اسلش
دنباله های فرار، در صورت وجود، به صورت زیر رمزگشایی می شوند:
\a هشدار (زنگ)
\b پشت سر هم
\e
\E یک شخصیت فراری
\f خوراک فرم
\n خط جدید
\r برگشت محموله
\t زبانه افقی
\v زبانه عمودی
\\ پشت سر هم
\' نقل قول واحد
\" نقل قول دوگانه
\nnn کاراکتر هشت بیتی که مقدار آن مقدار هشت بیتی است nnn (یک تا سه
ارقام)
\xHH کاراکتر هشت بیتی که مقدار آن مقدار هگزادسیمال است HH (یک یا دو
ارقام شش گوش)
\uهه هه کاراکتر یونیکد (ISO/IEC 10646) که مقدار آن مقدار هگزادسیمال است
هه هه (یک تا چهار رقم شش گوش)
\Uهههههههه
کاراکتر یونیکد (ISO/IEC 10646) که مقدار آن مقدار هگزادسیمال است
هههههههه (یک تا هشت رقم شش گوش)
\cx یک کنترل -x شخصیت

نتیجه گسترش یافته تک مظنه است، گویی علامت دلار وجود نداشته است.

یک رشته دو نقل قول قبل از علامت دلار ($"رشته") باعث می شود که رشته باشد
مطابق با محل فعلی ترجمه شده است. اگر محل فعلی است C or POSIXاز
علامت دلار نادیده گرفته می شود اگر رشته ترجمه و جایگزین شود، جایگزینی است
دو نقل قول شده

پارامترهای


A پارامتر موجودی است که مقادیر را ذخیره می کند. می تواند یک نام، یک عدد یا یکی از
کاراکترهای ویژه در زیر فهرست شده است ویژه پارامترهای. متغیر یک پارامتر است
نشان داده شده با a نام. یک متغیر دارای a است ارزش و صفر یا بیشتر خواص. صفات هستند
اختصاص داده شده با استفاده از اعلام دستور داخلی (نگاه کنید به اعلام زیر در پوسته ساخته شده دستورات).

یک پارامتر در صورتی تنظیم می شود که یک مقدار به آن اختصاص داده شده باشد. رشته null یک مقدار معتبر است.
هنگامی که یک متغیر تنظیم می شود، ممکن است تنها با استفاده از آن تنظیم شود تنظیم نشده دستور داخلی (نگاه کنید به پوسته
ساخته شده دستورات در زیر).

A متغیر ممکن است با بیانیه فرم به آن اختصاص داده شود

نام=[ارزش]

If ارزش داده نمی شود، رشته تهی به متغیر اختصاص داده می شود. همه ارزش تحت تاج و مد قرار می گیرند
بسط، بسط پارامتر و متغیر، جایگزینی دستور، بسط حسابی،
و حذف نقل قول (نگاه کنید به بازپرداخت زیر). اگر متغیر خودش را داشته باشد عدد صحیح مجموعه ویژگی،
سپس ارزش به عنوان یک عبارت حسابی ارزیابی می شود حتی اگر بسط $((...)) نباشد
استفاده می شود (نگاه کنید به حساب توسعه زیر). تقسیم کلمه انجام نمی شود، با
به استثنای "$@" همانطور که در زیر توضیح داده شده است ویژه پارامترهای. گسترش نام مسیر نیست
انجام. عبارات تکلیف نیز ممکن است به عنوان استدلال برای نام مستعار, اعلام,
نوع, صادرات, فقط خواندنیو محلی دستورات داخلی زمانی که در پوزيكس حالت، این ساخته شده ها
ممکن است بعد از یک یا چند نمونه از دستور در یک فرمان ظاهر شود فرمان ساخته شده و نگه می دارد
این ویژگی های بیانیه انتساب

در شرایطی که یک دستور انتساب مقداری را به یک متغیر پوسته یا
شاخص آرایه، عملگر += را می توان برای الحاق یا اضافه کردن به متغیر قبلی استفاده کرد
ارزش. وقتی += به متغیری که برای آن عدد صحیح ویژگی تنظیم شده است،
ارزش به عنوان یک عبارت حسابی ارزیابی می شود و به مقدار فعلی متغیر اضافه می شود.
که نیز مورد ارزیابی قرار می گیرد. هنگامی که += به یک متغیر آرایه با استفاده از ترکیب اعمال می شود
تکلیف (نگاه کنید به آرایه ها در زیر)، مقدار متغیر تنظیم نشده است (همانطور که هنگام استفاده از = است)،
و مقادیر جدیدی به آرایه اضافه می شود که با یک بزرگتر از حداکثر آرایه شروع می شود
ایندکس (برای آرایه های نمایه شده) یا به عنوان جفت های کلید-مقدار اضافی در یک آرایه انجمنی اضافه شده است.
هنگامی که به یک متغیر با مقدار رشته اعمال می شود، ارزش گسترش یافته و به متغیرها اضافه می شود
ارزش.

یک متغیر را می توان به آن اختصاص داد نامرف ویژگی با استفاده از -n گزینه به اعلام or
محلی دستورات داخلی (به توضیحات مربوط مراجعه کنید اعلام و محلی زیر) برای ایجاد یک
نامرف، یا ارجاع به متغیر دیگری. این اجازه می دهد تا متغیرها دستکاری شوند
غیر مستقیم هر زمان که به متغیر nameref ارجاع داده شود یا به آن اختصاص داده شود، عملیات انجام می شود
در واقع بر روی متغیر مشخص شده توسط مقدار متغیر nameref انجام می شود. یک نامرف
معمولاً در توابع پوسته برای اشاره به متغیری که نام آن به عنوان an ارسال می شود استفاده می شود
آرگومان تابع به عنوان مثال، اگر نام متغیری به یک تابع پوسته ارسال شود
به عنوان اولین آرگومان آن، در حال اجرا
-n ref=1$ را اعلام کنید
در داخل تابع یک متغیر nameref ایجاد می کند کد عکس که مقدار آن نام متغیر ارسال شده است
به عنوان اولین استدلال مراجع و تکالیف به کد عکس به عنوان مرجع و
انتساب به متغیری که نام آن به عنوان ارسال شده است $1. اگر متغیر کنترل در a برای
حلقه دارای ویژگی nameref است، لیست کلمات می تواند لیستی از متغیرهای پوسته باشد و a
هنگامی که حلقه است، مرجع نام برای هر کلمه در لیست ایجاد می شود
اجرا شده. نمی توان به متغیرهای آرایه داد -n صفت. با این حال، متغیرهای nameref
می تواند به متغیرهای آرایه و متغیرهای آرایه مشترک ارجاع دهد. Nameref ها را می توان از حالت تنظیم خارج کرد
با استفاده از -n گزینه به تنظیم نشده ساخته شده در غیر این صورت، اگر تنظیم نشده با نام اجرا می شود
از یک متغیر nameref به عنوان یک آرگومان، متغیری که توسط متغیر nameref به آن ارجاع داده می شود
تنظیم نشده باشد

موضعی پارامترهای
A موقعیتی پارامتر پارامتری است که با یک یا چند رقم به غیر از یک رقم مشخص می شود
رقم 0. پارامترهای موقعیت زمانی از آرگومان های پوسته تخصیص داده می شوند
فراخوانی شده و ممکن است با استفاده از تنظیم دستور داخلی پارامترهای موقعیت ممکن است
با بیانیه های تکلیف اختصاص داده نشود. پارامترهای موقعیتی به طور موقت هستند
هنگامی که یک تابع پوسته اجرا می شود جایگزین می شود (نگاه کنید به توابع در زیر).

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

ویژه پارامترهای
پوسته چندین پارامتر را به طور خاص درمان می کند. این پارامترها فقط ممکن است ارجاع شوند.
واگذاری به آنها مجاز نیست.
* به پارامترهای موقعیتی گسترش می یابد و از یک شروع می شود. زمانی که گسترش نیست
در داخل نقل قول های دوگانه، هر پارامتر موقعیتی به یک کلمه جداگانه گسترش می یابد. که در
در زمینه هایی که در آن اجرا می شود، آن کلمات در معرض تقسیم کلمات بیشتر قرار می گیرند
و گسترش نام مسیر هنگامی که بسط در داخل گیومه های دوگانه اتفاق می افتد، گسترش می یابد
به یک کلمه واحد که مقدار هر پارامتر با کاراکتر اول جدا شده است
از IFS متغیر ویژه به این معنا که، "$*" برابر است با "$1c$2c..."، جایی که c
اولین کاراکتر از مقدار است IFS متغیر. اگر IFS تنظیم نشده است،
پارامترها با فاصله از هم جدا می شوند. اگر IFS تهی است، پارامترها به هم متصل می شوند
بدون دخالت جداکننده
@ به پارامترهای موقعیتی گسترش می یابد و از یک شروع می شود. هنگامی که گسترش رخ می دهد
در داخل نقل قول های دوگانه، هر پارامتر به یک کلمه جداگانه گسترش می یابد. به این معنا که، "$@"است
معادل "$1""$2اگر بسط دو نقل قول در یک کلمه رخ دهد،
بسط پارامتر اول به قسمت ابتدایی پیوست می شود
کلمه اصلی، و بسط آخرین پارامتر به قسمت آخر ملحق می شود
از کلمه اصلی هنگامی که هیچ پارامتر موقعیتی وجود ندارد، "$@$@ گسترش
به هیچ (یعنی حذف می شوند).
# به تعداد پارامترهای موقعیتی در اعشار گسترش می یابد.
? به وضعیت خروجی جدیدترین خط لوله پیش زمینه اجرا شده گسترش می یابد.
- به پرچم‌های گزینه فعلی که در هنگام فراخوانی مشخص شده است، توسط تنظیم
دستور ساخته شده یا آنهایی که توسط خود پوسته تنظیم شده اند (مانند -i گزینه).
$ به شناسه فرآیند پوسته گسترش می یابد. در یک زیر پوسته () به قسمت گسترش می یابد
شناسه فرآیند پوسته فعلی، نه پوسته فرعی.
! به شناسه فرآیند کاری که اخیراً در پس‌زمینه قرار داده شده است، گسترش می‌یابد،
چه به عنوان یک فرمان ناهمزمان یا با استفاده از bg ساخته شده (نگاه کنید به شغل
کنترل در زیر).
0 به نام پوسته یا اسکریپت پوسته گسترش می یابد. این در پوسته تنظیم شده است
مقداردهی اولیه. اگر بر هم زدن با فایلی از دستورات فراخوانی می شود، $0 به نام تنظیم شده است
از آن فایل اگر بر هم زدن با شروع شده است -c پس گزینه $0 روی اول تنظیم شده است
آرگومان بعد از رشته ای که باید اجرا شود، اگر یکی موجود باشد. در غیر این صورت تنظیم شده است
به نام فایل مورد استفاده برای فراخوانی بر هم زدن، همانطور که با آرگومان صفر ارائه شده است.
_ هنگام راه اندازی پوسته، روی نام مسیر مطلقی که برای فراخوانی پوسته یا پوسته استفاده می شود، تنظیم کنید
اسکریپت در حال اجرا به عنوان ارسال در محیط یا لیست آرگومان. متعاقبا،
پس از بسط به آخرین آرگومان فرمان قبلی گسترش می یابد. همچنین تنظیم کنید
نام مسیر کامل مورد استفاده برای فراخوانی هر فرمان اجرا شده و قرار داده شده در
محیطی که به آن فرمان صادر شده است. هنگام بررسی نامه، این پارامتر را نگه می دارد
نام فایل ایمیلی که در حال بررسی است.

صدف متغیر
متغیرهای زیر توسط پوسته تنظیم می شوند:

BASH به نام کامل فایل مورد استفاده برای فراخوانی این نمونه گسترش می یابد بر هم زدن.
BASHOPTS
فهرستی از گزینه‌های پوسته فعال با دو نقطه جدا شده. هر کلمه در لیست معتبر است
استدلال برای -s گزینه به خرید دستور داخلی (نگاه کنید به پوسته ساخته شده دستورات
زیر). گزینه های ظاهر شده در BASHOPTS آنهایی هستند که به عنوان گزارش شده اند on by خرید. اگر
این متغیر در محیط زمانی است که بر هم زدن شروع می شود، هر گزینه پوسته در
لیست قبل از خواندن هر فایل راه اندازی فعال می شود. این متغیر فقط خواندنی است.
BASHPID
به شناسه فرآیند جریان گسترش می یابد بر هم زدن روند. این با $$ زیر
شرایط خاص، مانند زیر پوسته هایی که نیازی به آن ندارند بر هم زدن دوباره شدن
اولیه شد.
BASH_ALIASES
یک متغیر آرایه انجمنی که اعضای آن با لیست داخلی مطابقت دارند
نام مستعار همانطور که توسط نام مستعار ساخته شده عناصر اضافه شده به این آرایه در ظاهر می شوند
لیست نام مستعار؛ عناصر آرایه unsetting باعث حذف نام مستعار از نام مستعار می شود
فهرست
BASH_ARGC
متغیر آرایه ای که مقادیر آن تعداد پارامترها در هر فریم است
جاری بر هم زدن پشته فراخوان اجرا تعداد پارامترهای جریان
زیر روال (تابع پوسته یا اسکریپت اجرا شده با . or منبع) در بالای آن قرار دارد
پشته هنگامی که یک زیربرنامه اجرا می شود، تعداد پارامترهای ارسال شده است
تحت فشار قرار دادند BASH_ARGC. پوسته جمع می شود BASH_ARGC فقط زمانی که در اشکال زدایی طولانی است
حالت (توضیحات را ببینید extdebug گزینه به خرید ساخته شده در زیر)
BASH_ARGV
یک متغیر آرایه حاوی تمام پارامترهای موجود در جریان بر هم زدن اعدام
پشته تماس پارامتر نهایی آخرین فراخوانی زیربرنامه در بالای صفحه است
پشته؛ اولین پارامتر تماس اولیه در پایین است. وقتی یک زیربرنامه
اجرا می شود، پارامترهای ارائه شده بر روی آن فشار داده می شوند BASH_ARGV. پوسته جمع می شود
BASH_ARGV فقط زمانی که در حالت اشکال زدایی گسترده (به توضیحات مراجعه کنید extdebug
گزینه به خرید ساخته شده در زیر)
BASH_CMDS
یک متغیر آرایه انجمنی که اعضای آن با جدول هش داخلی مطابقت دارند
از دستوراتی که توسط مخلوط ساخته شده عناصر اضافه شده به این آرایه ظاهر می شوند
در جدول هش؛ unsetting عناصر آرایه باعث حذف دستورات از
جدول هش
BASH_COMMAND
فرمان در حال اجرا یا در حال اجرا شدن است، مگر اینکه پوسته اجرا شود
اجرای یک فرمان در نتیجه یک تله، که در این صورت آن فرمان است
اجرا در زمان تله
BASH_EXECUTION_STRING
آرگومان فرمان به -c گزینه فراخوانی
BASH_LINENO
متغیر آرایه ای که اعضای آن شماره خطوط در فایل های منبع هستند که هر کدام
عضو متناظر از FUNCNAME مورد استناد قرار گرفت. ${BASH_LINENO[$i]} خط است
شماره در فایل منبع (${BASH_SOURCE[$i+1]}) جایی که ${FUNCNAME[$i]} نامیده می شد
(و یا ${BASH_LINENO[$i-1]} اگر در تابع پوسته دیگری ارجاع داده شود). استفاده کنید LINENO
برای بدست آوردن شماره خط فعلی
BASH_REMATCH
یک متغیر آرایه که اعضای آن توسط =~ عملگر باینری به [[
فرمان مشروط عنصر با شاخص 0 بخشی از رشته است
مطابقت با کل عبارت منظم عنصر با شاخص n بخشی از است
رشته مطابق با nعبارت فرعی پرانتز شده این متغیر خوانده می شود
تنها.
BASH_SOURCE
یک متغیر آرایه ای که اعضای آن نام فایل منبع هستند که در آن متناظر هستند
نام توابع پوسته در FUNCNAME متغیر آرایه تعریف شده است. پوسته
تابع ${FUNCNAME[$i]} در فایل تعریف شده است ${BASH_SOURCE[$i]} و از
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
هنگامی که پوسته در هر زیر پوسته یا محیط زیر پوسته یک نفر افزایش می یابد
شروع به اجرا در آن محیط می کند. مقدار اولیه 0 است.
BASH_VERSINFO
یک متغیر آرایه فقط خواندنی که اعضای آن اطلاعات نسخه را برای این نمونه نگه می دارند
of بر هم زدن. مقادیر اختصاص داده شده به اعضای آرایه به شرح زیر است:
BASH_VERSINFO[0] شماره نسخه اصلی ( آزاد).
BASH_VERSINFO[1] شماره نسخه کوچک ( نسخه).
BASH_VERSINFO[2] سطح پچ.
BASH_VERSINFO[3] نسخه ساخت.
BASH_VERSINFO[4] وضعیت انتشار (به عنوان مثال، بتا1).
BASH_VERSINFO[5] ارزش MACHTYPE.
BASH_VERSION
به رشته ای گسترش می یابد که نسخه این نمونه از را توصیف می کند بر هم زدن.
COMP_CWORD
یک شاخص به ${COMP_WORDS} از کلمه حاوی موقعیت مکان نما فعلی.
این متغیر فقط در توابع پوسته‌ای که توسط برنامه‌پذیر فراخوانی می‌شوند موجود است
امکانات تکمیل (نگاه کنید به برنامه ریزی تکمیل در زیر).
COMP_KEY
کلید (یا کلید نهایی یک دنباله کلید) که برای فراخوانی تکمیل فعلی استفاده می شود
تابع.
COMP_LINE
خط فرمان فعلی این متغیر فقط در توابع پوسته و
دستورات خارجی فراخوانی شده توسط امکانات تکمیل قابل برنامه ریزی (نگاه کنید به
برنامه ریزی تکمیل در زیر).
COMP_POINT
شاخص موقعیت مکان نما فعلی نسبت به ابتدای جریان
فرمان اگر موقعیت مکان نما فعلی در انتهای دستور جاری باشد،
مقدار این متغیر برابر است با ${#COMP_LINE}. این متغیر فقط در دسترس است
در توابع پوسته و دستورات خارجی که توسط تکمیل قابل برنامه ریزی فراخوانی می شوند
امکانات (نگاه کنید به برنامه ریزی تکمیل در زیر).
COMP_TYPE
روی یک مقدار صحیح مطابق با نوع تکمیلی که انجام شده است تنظیم کنید
باعث فراخوانی تابع تکمیل شد: TABبرای تکمیل عادی، ?، برای
تکمیل لیست پس از برگه های متوالی، !، برای فهرست کردن گزینه های جزئی
تکمیل کلمه، @، برای لیست تکمیل شده ها در صورتی که کلمه اصلاح نشده باشد، یا %، برای
تکمیل منو این متغیر فقط در توابع پوسته و خارجی موجود است
دستورات فراخوانی شده توسط امکانات تکمیل قابل برنامه ریزی (نگاه کنید به برنامه ریزی
تکمیل در زیر).
COMP_WORDBREAKS
مجموعه شخصیت هایی که خط خواندن زمانی که کتابخانه به عنوان جداکننده کلمات رفتار می کند
انجام تکمیل کلمه اگر COMP_WORDBREAKS تنظیم نشده است، خاص خود را از دست می دهد
خصوصیات، حتی اگر بعداً تنظیم مجدد شود.
COMP_WORDS
یک متغیر آرایه (نگاه کنید به آرایه ها زیر) متشکل از تک تک کلمات در
خط فرمان فعلی این خط به کلمات تقسیم می شود خط خواندن آن را تقسیم می کرد،
با استفاده از COMP_WORDBREAKS همانطور که در بالا توضیح داده شد. این متغیر فقط در پوسته موجود است
توابع فراخوانی شده توسط امکانات تکمیل قابل برنامه ریزی (نگاه کنید به برنامه ریزی
تکمیل در زیر).
COPROC یک متغیر آرایه (نگاه کنید به آرایه ها زیر) برای نگهداری توصیفگرهای فایل ایجاد شده است
خروجی و ورودی به یک coprocess بدون نام (نگاه کنید به فرآیندهای مشترک در بالا).
DIRSTACK
یک متغیر آرایه (نگاه کنید به آرایه ها زیر) حاوی محتوای فعلی
پشته دایرکتوری دایرکتوری ها به ترتیبی که نمایش داده می شوند در پشته ظاهر می شوند
توسط دیر ساخته شده تخصیص به اعضای این متغیر آرایه ممکن است مورد استفاده قرار گیرد
دایرکتوری های موجود در پشته را تغییر دهید، اما pushd و پاپ ساخته شده باید باشد
برای افزودن و حذف دایرکتوری ها استفاده می شود. انتساب به این متغیر تغییر نخواهد کرد
دایرکتوری فعلی اگر DIRSTACK تنظیم نشده است، حتی خواص ویژه خود را از دست می دهد
اگر بعداً تنظیم مجدد شود.
EUID به شناسه کاربری موثر کاربر فعلی که در راه اندازی پوسته مقداردهی اولیه می شود، گسترش می یابد.
این متغیر فقط خواندنی است.
FUNCNAME
یک متغیر آرایه حاوی نام تمام توابع پوسته در حال حاضر در
پشته فراخوان اجرا عنصر با اندیس 0 نام هر مورد فعلی است
اجرای تابع پوسته پایین ترین عنصر (یکی که بالاترین شاخص را دارد)
"اصلی" است. این متغیر فقط زمانی وجود دارد که یک تابع پوسته در حال اجرا باشد.
تکالیف به FUNCNAME هیچ تاثیری ندارند و وضعیت خطا را برمی‌گردانند. اگر FUNCNAME is
تنظیم نشده، ویژگی های خاص خود را از دست می دهد، حتی اگر بعداً تنظیم مجدد شود.

این متغیر را می توان با BASH_LINENO و BASH_SOURCE. هر عنصر از
FUNCNAME دارای عناصر مربوطه در BASH_LINENO و BASH_SOURCE برای توصیف
پشته تماس برای مثال، ${FUNCNAME[$i]} از فایل فراخوانی شد
${BASH_SOURCE[$i+1]} به شماره خط ${BASH_LINENO[$i]}. تماس گیرنده خانه
پشته تماس فعلی را با استفاده از این اطلاعات نمایش می دهد.
گروه ها یک متغیر آرایه حاوی لیستی از گروه هایی که کاربر فعلی آن a است
عضو تکالیف به گروه ها هیچ تاثیری ندارند و وضعیت خطا را برمی‌گردانند. اگر
گروه ها تنظیم نشده باشد، ویژگی های خاص خود را از دست می دهد، حتی اگر بعداً تنظیم مجدد شود.
HISTCMD
شماره تاریخچه یا نمایه در لیست تاریخچه دستور فعلی. اگر
HISTCMD تنظیم نشده باشد، ویژگی های خاص خود را از دست می دهد، حتی اگر متعاقباً باشد
تنظیم مجدد
نام خانوادگی
به طور خودکار روی نام میزبان فعلی تنظیم می شود.
HOSTTYPE
به‌طور خودکار روی رشته‌ای تنظیم می‌شود که به طور منحصربه‌فرد نوع ماشینی را که در آن قرار دارد، توصیف می‌کند
بر هم زدن در حال اجرا است. پیش فرض وابسته به سیستم است.
LINENO هر بار که به این پارامتر ارجاع داده می شود، پوسته یک عدد اعشاری را جایگزین می کند
نشان دهنده شماره خط متوالی فعلی (با 1 شروع می شود) در یک اسکریپت
یا عملکرد وقتی در یک اسکریپت یا تابع نیست، مقدار جایگزین شده نیست
تضمین شده است که معنادار است اگر LINENO تنظیم نشده است، ویژگی های خاص خود را از دست می دهد،
حتی اگر بعداً تنظیم مجدد شود.
MACHTYPE
به طور خودکار روی رشته ای تنظیم می شود که به طور کامل نوع سیستمی را که در آن توصیف می کند بر هم زدن is
اجرا، در گنو استاندارد cpu-company-system قالب پیش فرض سیستم است-
وابسته
MAPFILE
یک متغیر آرایه (نگاه کنید به آرایه ها زیر) ایجاد شده برای نگه داشتن متن خوانده شده توسط نقشه فایل
زمانی که نام متغیری ارائه نشده باشد، ساخته شده است.
OLDPWD دایرکتوری کاری قبلی که توسط cd فرمان
OPTARG مقدار آرگومان آخرین گزینه پردازش شده توسط گرفتن دستور داخلی (نگاه کنید به
پوسته ساخته شده دستورات در زیر).
OPTIND شاخص آرگومان بعدی که باید توسط the پردازش شود گرفتن دستور داخلی (نگاه کنید به
پوسته ساخته شده دستورات در زیر).
OSTYPE به طور خودکار روی رشته ای تنظیم می شود که سیستم عاملی را که در آن توصیف می کند بر هم زدن is
اجرا کردن پیش فرض وابسته به سیستم است.
PIPESTATUS
یک متغیر آرایه (نگاه کنید به آرایه ها زیر) حاوی لیستی از مقادیر وضعیت خروج از
فرآیندهای موجود در خط لوله پیش زمینه اخیراً اجرا شده (که ممکن است شامل
فقط یک دستور).
PPID شناسه فرآیند والد پوسته. این متغیر فقط خواندنی است.
PWD دایرکتوری کاری فعلی همانطور که توسط cd فرمان
تصادفی هر بار که این پارامتر ارجاع داده می شود، یک عدد صحیح تصادفی بین 0 و 32767 است
تولید شده است. دنباله اعداد تصادفی ممکن است با تخصیص یک مقدار مقدار دهی اولیه شود
به تصادفی. اگر تصادفی تنظیم نشده باشد، ویژگی های خاص خود را از دست می دهد، حتی اگر باشد
متعاقباً تنظیم مجدد
READLINE_LINE
محتویات خط خواندن خط بافر، برای استفاده با "bind -x" (نگاه کنید به پوسته ساخته شده
دستورات در زیر).
READLINE_POINT
موقعیت نقطه درج در خط خواندن خط بافر، برای استفاده با "bind
-x" (نگاه کنید به پوسته ساخته شده دستورات در زیر).
پاسخ تنظیم به خط ورودی خوانده شده توسط خواندن دستور ساخته شده زمانی که هیچ آرگومان وجود ندارد
تهیه شده
ثانیه ها
هر بار که به این پارامتر ارجاع داده می شود، تعداد ثانیه هایی که از پوسته می گذرد
فراخوان برگشت داده می شود. اگر مقداری به ثانیه ها، مقدار برگردانده شده است
ارجاعات بعدی تعداد ثانیه های پس از تخصیص به اضافه مقدار است
اختصاص داده. اگر ثانیه ها تنظیم نشده باشد، ویژگی های خاص خود را از دست می دهد، حتی اگر باشد
متعاقباً تنظیم مجدد
SHELLOPTS
فهرستی از گزینه‌های پوسته فعال با دو نقطه جدا شده. هر کلمه در لیست معتبر است
استدلال برای -o گزینه به تنظیم دستور داخلی (نگاه کنید به پوسته ساخته شده دستورات
زیر). گزینه های ظاهر شده در SHELLOPTS آنهایی هستند که به عنوان گزارش شده اند on by تنظیم -o. اگر
این متغیر در محیط زمانی است که بر هم زدن شروع می شود، هر گزینه پوسته در
لیست قبل از خواندن هر فایل راه اندازی فعال می شود. این متغیر فقط خواندنی است.
SHLVL هر بار یک نمونه از یک افزایش می یابد بر هم زدن آغاز شده است
UID به شناسه کاربری کاربر فعلی که در راه اندازی پوسته مقداردهی اولیه می شود، گسترش می یابد. این
متغیر فقط خواندنی است.

متغیرهای زیر توسط پوسته استفاده می شود. در بعضی موارد، بر هم زدن یک پیش فرض اختصاص می دهد
مقدار یک متغیر؛ این موارد در زیر ذکر شده است.

BASH_COMPAT
این مقدار برای تنظیم سطح سازگاری پوسته استفاده می شود. توضیحات را ببینید
la خرید زیر ساخته شده است پوسته ساخته شده دستورات برای شرح
سطوح مختلف سازگاری و اثرات آنها مقدار ممکن است یک عدد اعشاری باشد
(به عنوان مثال، 4.2) یا یک عدد صحیح (مثلا، 42) مربوط به سازگاری مورد نظر
مرحله. اگر BASH_COMPAT تنظیم نشده یا روی رشته خالی، سطح سازگاری تنظیم شده است
برای نسخه فعلی روی پیش فرض تنظیم شده است. اگر BASH_COMPAT روی یک مقدار تنظیم شده است
که یکی از سطوح سازگاری معتبر نیست، پوسته یک خطا را چاپ می کند
پیام می دهد و سطح سازگاری را برای نسخه فعلی روی پیش فرض تنظیم می کند.
سطوح سازگاری معتبر با گزینه های سازگاری پذیرفته شده مطابقت دارد
la خرید توکار توضیح داده شده در زیر (به عنوان مثال، compat42 یعنی 4.2 و 42 هستند
مقادیر معتبر). نسخه فعلی نیز یک مقدار معتبر است.
BASH_ENV
اگر این پارامتر زمانی تنظیم شود بر هم زدن در حال اجرای یک اسکریپت پوسته است، مقدار آن است
به عنوان یک نام فایل حاوی دستوراتی برای مقداردهی اولیه پوسته تفسیر می‌شود، همانطور که در
~ / .bashrc. ارزش BASH_ENV تحت بسط پارامتر، فرمان قرار می گیرد
جایگزینی و بسط حسابی قبل از اینکه به عنوان نام فایل تفسیر شود.
PATH برای جستجوی نام فایل حاصل استفاده نمی شود.
BASH_XTRACEFD
اگر روی یک عدد صحیح مطابق با یک توصیفگر فایل معتبر تنظیم شود، بر هم زدن خواهد نوشت
خروجی ردیابی تولید شده زمانی که تنظیم -x برای توصیفگر آن فایل فعال است. پرونده
توصیفگر وقتی بسته می شود BASH_XTRACEFD تنظیم نشده یا مقدار جدیدی به آن اختصاص داده شده است.
بی قرار کردن BASH_XTRACEFD یا اختصاص رشته خالی به آن باعث خروجی ردیابی می شود
به خطای استاندارد ارسال شود. به آن تنظیم توجه کنید BASH_XTRACEFD به 2 (استاندارد
error file descriptor) و سپس حذف آن منجر به خطای استاندارد می شود
بسته شدن
CDPATH مسیر جستجو برای cd فرمان این فهرست فهرستی از دایرکتوری ها است که با دو نقطه جدا شده اند
که در آن پوسته به دنبال دایرکتوری های مقصد مشخص شده توسط cd فرمان
یک مقدار نمونه ".:~:/ usr".
CHILD_MAX
تعداد مقادیر وضعیت فرزند خارج شده را برای به خاطر سپردن پوسته تنظیم کنید. باش اراده خواهد کرد
اجازه ندهید که این مقدار کمتر از حداقل اجباری POSIX کاهش یابد، و وجود دارد
حداکثر مقدار (در حال حاضر 8192) که ممکن است از آن بیشتر نشود. حداقل مقدار است
وابسته به سیستم
ستون ها
استفاده شده توسط را انتخاب کنید دستور ترکیبی برای تعیین عرض ترمینال هنگام چاپ
لیست های انتخاب به صورت خودکار تنظیم شود اگر checkwinsize گزینه فعال یا در یک
پوسته تعاملی پس از دریافت الف SIGWINCH.
کامل کنید
یک متغیر آرایه که از آن بر هم زدن تکمیل های احتمالی ایجاد شده توسط a را می خواند
تابع پوسته فراخوانی شده توسط تسهیلات تکمیل قابل برنامه ریزی (نگاه کنید به برنامه ریزی
تکمیل زیر). هر عنصر آرایه شامل یک تکمیل ممکن است.
EMACS If بر هم زدن زمانی که پوسته با مقدار شروع می شود، این متغیر را در محیط پیدا می کند
"t" فرض می کند که پوسته در بافر پوسته Emacs اجرا می شود و غیرفعال می شود
ویرایش خط
ENV مشابه BASH_ENV; هنگامی که پوسته در حالت POSIX فراخوانی می شود استفاده می شود.
FCEDIT ویرایشگر پیش فرض برای fc دستور داخلی
FIGNORE
فهرستی از پسوندهای جدا شده با دو نقطه که باید هنگام تکمیل نام فایل نادیده گرفته شوند
(نگاه کنید به READLINE زیر). نام فایلی که پسوند آن با یکی از ورودی های موجود در آن مطابقت دارد
FIGNORE از لیست نام فایل های منطبق حذف شده است. یک مقدار نمونه ".o:~" است
(هنگام تخصیص یک مقدار به این متغیر که حاوی tildes است، نقل قول لازم است).
FUNCNEST
اگر روی مقدار عددی بزرگتر از 0 تنظیم شود، حداکثر سطح تودرتوی تابع را تعریف می کند.
فراخوانی‌های تابعی که از این سطح تودرتو فراتر می‌روند باعث فرمان فعلی می‌شوند
سقط کردن
GLOBIGNORE
فهرستی از الگوهای جدا شده با دو نقطه که مجموعه ای از نام فایل ها را که باید نادیده گرفته شوند را تعریف می کند
گسترش نام مسیر اگر نام فایل با الگوی گسترش نام مسیر نیز مطابقت داشته باشد
با یکی از الگوهای موجود مطابقت دارد GLOBIGNORE، از لیست مسابقات حذف می شود.
HISTCONTROL
فهرستی از مقادیر جدا شده با کولون که نحوه ذخیره دستورات در تاریخچه را کنترل می کند
فهرست اگر لیست مقادیر شامل نادیده گرفتن فضا، خطوطی که با a شروع می شوند فضا
کاراکتر در لیست تاریخچه ذخیره نمی شود. یک ارزش از نادیده گرفته شدن باعث ایجاد خطوط می شود
مطابق با ورودی سابقه قبلی ذخیره نشود. یک ارزش از هر دو را نادیده بگیرید is
مختصر برای نادیده گرفتن فضا و نادیده گرفته شدن. یک ارزش از پاک شده ها باعث تمام قبلی می شود
خطوطی که با خط فعلی مطابقت دارند تا قبل از آن از فهرست تاریخ حذف شوند
خط ذخیره شده است هر مقداری که در لیست بالا نباشد نادیده گرفته می شود. اگر HISTCONTROL is
تنظیم نشده، یا شامل یک مقدار معتبر نیست، تمام خطوط خوانده شده توسط تجزیه کننده پوسته هستند
ذخیره شده در لیست تاریخچه، با توجه به مقدار HISTIGNORE. دومی و
خطوط بعدی یک فرمان ترکیبی چند خطی آزمایش نمی شوند و به آن اضافه می شوند
تاریخ بدون توجه به ارزش HISTCONTROL.
HISTFILE
نام فایلی که تاریخچه فرمان در آن ذخیره شده است (نگاه کنید به تاریخچه زیر). در
مقدار پیش فرض است ash / .bash_history. اگر تنظیم نشده باشد، تاریخچه فرمان ذخیره نمی شود
یک پوسته خارج می شود
HISTFILESIZE
حداکثر تعداد خطوط موجود در فایل تاریخچه. زمانی که این متغیر است
با اختصاص یک مقدار، فایل تاریخچه در صورت لزوم کوتاه می شود تا حاوی مقدار بیشتری نباشد
از آن تعداد خطوط با حذف قدیمی ترین ورودی ها. فایل تاریخچه هم هست
پس از نوشتن آن هنگام خروج پوسته به این اندازه کوتاه می شود. اگر مقدار 0 باشد،
فایل تاریخچه به اندازه صفر کوتاه شده است. مقادیر غیر عددی و مقادیر عددی کمتر
از صفر مانع برش می شود. پوسته مقدار پیش فرض را بر روی مقدار قرار می دهد
HISTSIZE پس از خواندن هر فایل راه اندازی
HISTIGNORE
فهرستی از الگوهای جدا شده با کولون که برای تصمیم گیری در مورد اینکه کدام خطوط فرمان باید باشد استفاده می شود
در لیست تاریخچه ذخیره شده است. هر الگو در ابتدای خط لنگر انداخته است
و باید با خط کامل مطابقت داشته باشد (بدون ` ضمنی*' ضمیمه شده است). هر الگوی است
در برابر خط پس از بررسی های مشخص شده توسط HISTCONTROL اعمال می شوند. که در
علاوه بر نویسه های تطبیق الگوی پوسته معمولی، `&' با قبلی مطابقت دارد
خط تاریخ `&' ممکن است با استفاده از بک اسلش فرار کند. بک اسلش حذف می شود
قبل از تلاش برای مسابقه خطوط دوم و بعدی یک خط چند خطی
دستورات ترکیبی آزمایش نمی شوند و بدون توجه به این به تاریخچه اضافه می شوند
ارزش HISTIGNORE.
HISTSIZE
تعداد دستوراتی که باید در تاریخچه فرمان به خاطر بسپارید (نگاه کنید به تاریخچه زیر). اگر
مقدار 0 است، دستورات در لیست تاریخچه ذخیره نمی شوند. مقادیر عددی کمتر
هر فرمانی در لیست تاریخچه ذخیره می‌شود، نتیجه آن صفر است (هیچ
حد). پوسته پس از خواندن هر فایل راه اندازی، مقدار پیش فرض را روی 500 تنظیم می کند.
فرمت زمان تاریخ
اگر این متغیر تنظیم شده باشد و تهی نباشد، از مقدار آن به عنوان رشته فرمت استفاده می شود
زمان صرف وقت(3) برای چاپ مهر زمانی مرتبط با هر ورودی تاریخ نمایش داده شده توسط
la تاریخ ساخته شده اگر این متغیر تنظیم شده باشد، مهرهای زمانی روی آن نوشته می شود
فایل تاریخچه تا در طول جلسات پوسته حفظ شوند. این از تاریخ استفاده می کند
کاراکتر نظر برای متمایز کردن مهرهای زمانی از سایر خطوط تاریخ.
صفحه اصلی فهرست اصلی کاربر فعلی؛ آرگومان پیش فرض برای cd خانه
فرمان مقدار این متغیر در هنگام انجام بسط tilde نیز استفاده می شود.
HOSTFILE
حاوی نام یک فایل در همان قالب است / غیره / میزبان که باید خوانده شود
زمانی که پوسته باید نام میزبان را تکمیل کند. لیست نام میزبان ممکن
تکمیل ممکن است در حالی که پوسته در حال اجرا است تغییر کند. نام میزبان دفعه بعد
تکمیل پس از تغییر مقدار انجام می شود، بر هم زدن محتویات را اضافه می کند
فایل جدید به لیست موجود اگر HOSTFILE تنظیم شده است، اما ارزشی ندارد، یا ندارد
نام یک فایل قابل خواندن، بر هم زدن تلاش برای خواندن / غیره / میزبان برای به دست آوردن لیست
تکمیل نام میزبان ممکن است. چه زمانی HOSTFILE تنظیم نشده است، لیست نام میزبان است
پاک شده
IFS La داخلی میدان تفکیک کننده که برای تقسیم کلمه بعد از بسط و به استفاده می شود
تقسیم خطوط به کلمات با خواندن دستور داخلی مقدار پیش فرض است
`` ''.
نادیده گرفتن
عملکرد یک پوسته تعاملی را هنگام دریافت یک کنترل می کند EOF شخصیت به عنوان
تنها ورودی اگر تنظیم شود، مقدار تعداد دفعات متوالی است EOF شخصیت هایی که
باید به عنوان اولین کاراکتر در یک خط ورودی قبلا تایپ شود بر هم زدن خارج می شود. اگر
متغیر وجود دارد اما مقدار عددی ندارد، یا مقداری ندارد، پیش‌فرض
مقدار 10 است. اگر وجود نداشته باشد، EOF به معنای پایان ورودی به پوسته است.
INPUTRC
نام فایل برای خط خواندن فایل راه اندازی، نادیده گرفتن پیش فرض ~ / .inputrc
(نگاه کنید به READLINE در زیر).
زبان برای تعیین دسته محلی برای هر دسته ای که به طور خاص انتخاب نشده استفاده می شود
با متغیری که با آن شروع می شود LC_.
LC_ALL این متغیر مقدار از را لغو می کند زبان و هر دیگری LC_ متغیر مشخص کننده a
دسته محلی
LC_COLLATE
این متغیر ترتیب دسته بندی مورد استفاده در هنگام مرتب سازی نتایج را تعیین می کند
گسترش نام مسیر، و رفتار عبارات محدوده، معادل را تعیین می کند
کلاس‌ها و ترتیب‌بندی توالی‌ها در بسط نام مسیر و تطبیق الگو.
LC_CTYPE
این متغیر تعبیر شخصیت ها و رفتار آنها را تعیین می کند
کلاس های کاراکتر در بسط نام مسیر و تطبیق الگو.
LC_MESSAGES
این متغیر محلی مورد استفاده برای ترجمه رشته های دو نقل قول را تعیین می کند
قبل از آن الف $.
LC_NUMERIC
این متغیر دسته محلی مورد استفاده برای قالب بندی اعداد را تعیین می کند.
LINES استفاده شده توسط را انتخاب کنید دستور ترکیبی برای تعیین طول ستون برای چاپ
لیست های انتخاب به صورت خودکار تنظیم شود اگر checkwinsize گزینه فعال یا در یک
پوسته تعاملی پس از دریافت الف SIGWINCH.
MAIL اگر این پارامتر روی نام فایل یا دایرکتوری تنظیم شده باشد MAILPATH متغیر است
تنظیم نشده، بر هم زدن کاربر را از ورود نامه در فایل مشخص شده مطلع می کند یا
فهرست راهنمای فرمت Maildir.
چک پستی
تعداد دفعات (در چند ثانیه) را مشخص می کند بر هم زدن چک برای پست پیش فرض 60 ثانیه است.
وقتی زمان بررسی ایمیل است، پوسته قبل از نمایش اولیه این کار را انجام می دهد
سریع. اگر این متغیر تنظیم نشده باشد یا روی مقداری تنظیم شود که یک عدد بزرگتر نیست
بیش از یا مساوی صفر، پوسته چک کردن نامه را غیرفعال می کند.
MAILPATH
فهرستی از نام فایل‌های جدا شده با دو نقطه برای بررسی ایمیل. پیام بودن
چاپ شده هنگام ورود نامه در یک فایل خاص ممکن است با جدا کردن آن مشخص شود
نام فایل از پیام با "؟". هنگامی که در متن پیام استفاده می شود، $_
به نام فایل ایمیل فعلی گسترش می یابد. مثال:
MAILPATH="/var/mail/bfox?"شما نامه دارید":~/shell-mail"$_ نامه دارد!"
بر هم زدن یک مقدار پیش‌فرض برای این متغیر ارائه می‌کند، اما مکان ایمیل کاربر
فایل هایی که استفاده می کند وابسته به سیستم هستند (به عنوان مثال، /var/mail/$ USER).
OPTERR اگر روی مقدار 1 تنظیم شود، بر هم زدن پیام های خطای ایجاد شده توسط گرفتن
دستور داخلی (نگاه کنید به پوسته ساخته شده دستورات در زیر). OPTERR به 1 مقداردهی اولیه می شود
هر بار که پوسته فراخوانی می شود یا یک اسکریپت شل اجرا می شود.
PATH مسیر جستجو برای دستورات این فهرستی از دایرکتوری های جدا شده با دو نقطه است که در آن
پوسته به دنبال دستورات می گردد (نگاه کنید به COMMAND اعدام زیر). طول صفر (تهی)
نام دایرکتوری به مقدار PATH دایرکتوری فعلی را نشان می دهد. یک عدد پوچ
نام دایرکتوری ممکن است به صورت دو دونقطه مجاور، یا به صورت اولیه یا دنباله ظاهر شود
روده بزرگ مسیر پیش‌فرض وابسته به سیستم است و توسط مدیر تنظیم می‌شود
نصب می کند بر هم زدن. یک مقدار مشترک "" است/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ صندوقچه:/ sbin''
POSIXLY_CORRECT
اگر این متغیر در محیط زمانی باشد بر هم زدن شروع می شود، پوسته وارد می شود پوزيكس
حالت قبل از خواندن فایل های راه اندازی، انگار که --posix گزینه فراخوانی بود
عرضه شده است. اگر در حالی که پوسته در حال اجرا است تنظیم شود، بر هم زدن را قادر می سازد پوزيكس حالت، مثل اینکه
فرمان تنظیم -o پوزيكس اعدام شده بود
PROMPT_COMMAND
اگر تنظیم شود، قبل از صدور هر فرمان اولیه، مقدار به عنوان یک فرمان اجرا می شود.
PROMPT_DIRTRIM
اگر روی عددی بزرگتر از صفر تنظیم شود، از مقدار به عنوان تعداد دنباله استفاده می شود
اجزای دایرکتوری برای حفظ هنگام گسترش \w و \W رشته سریع فرار می کند
(نگاه کنید به تحریک کردن زیر). کاراکترهای حذف شده با بیضی جایگزین می شوند.
PS1 مقدار این پارامتر گسترش یافته است (نگاه کنید به تحریک کردن زیر) و به عنوان استفاده می شود
رشته اعلان اولیه مقدار پیش فرض `` است\s-\v\$ ''
PS2 مقدار این پارامتر مانند با گسترش یافته است PS1 و به عنوان ثانویه استفاده می شود
رشته اعلان پیش فرض `` است> ''
PS3 مقدار این پارامتر به عنوان اعلان برای استفاده می شود را انتخاب کنید فرمان (نگاه کنید به پوسته
دستور زبان در بالا).
PS4 مقدار این پارامتر مانند با گسترش یافته است PS1 و مقدار قبلا چاپ شده است
هر فرمان بر هم زدن در طول ردیابی اجرا نمایش داده می شود. شخصیت اول از PS4
در صورت لزوم چندین بار تکرار می شود تا چندین سطح را نشان دهد
غیر جهت پیش فرض `` است+ ''
پوسته نام مسیر کامل پوسته در این متغیر محیطی نگهداری می شود. اگر نیست
تنظیم زمانی که پوسته شروع می شود، بر هم زدن نام مسیر کامل جریان را به آن اختصاص می دهد
پوسته ورود به سیستم کاربر
TIMEFORMAT
مقدار این پارامتر به عنوان یک رشته فرمت استفاده می شود که نحوه زمان بندی را مشخص می کند
اطلاعات خطوط لوله با پیشوند زمان کلمه رزرو شده باید نمایش داده شود.
La % کاراکتر یک دنباله فرار را معرفی می کند که به مقدار زمانی یا افزایش می یابد
اطلاعات دیگر سکانس های فرار و معانی آنها به شرح زیر است. را
بریس ها قسمت های اختیاری را نشان می دهند.
%% به معنای واقعی کلمه %.
%[p][l] R زمان سپری شده بر حسب ثانیه
%[p][لو تعداد ثانیه هایی که CPU در حالت کاربر صرف شده است.
%[p][l] S تعداد ثانیه هایی که CPU در حالت سیستم صرف شده است.
%P درصد CPU، به صورت (%U + %S) / %R محاسبه می‌شود.

اختیاری p رقمی است که دقت، تعداد ارقام کسری
بعد از یک نقطه اعشار مقدار 0 باعث می شود هیچ نقطه اعشاری یا کسری وجود نداشته باشد
خروجی حداکثر سه مکان بعد از نقطه اعشار ممکن است مشخص شود. ارزش های p
بزرگتر از 3 به 3 تبدیل می شود p مشخص نشده است، از مقدار 3 استفاده شده است.

اختیاری l فرمت طولانی تر، از جمله دقیقه، فرم را مشخص می کند MMmSS.FFs.
ارزش p تعیین می کند که آیا کسر گنجانده شده است یا خیر.

اگر این متغیر تنظیم نشده باشد، بر هم زدن طوری عمل می کند که انگار ارزش دارد
$'\nواقعی\t%3lR\user\t%3lU\nsys\t%3lS'. اگر مقدار صفر باشد، زمانبندی وجود ندارد
اطلاعات نمایش داده می شود. هنگامی که رشته فرمت است، یک خط جدید آخر اضافه می شود
نمایش داده.
TMOUT اگر روی مقداری بزرگتر از صفر تنظیم شود، TMOUT به عنوان مهلت زمانی پیش فرض در نظر گرفته می شود
la خواندن ساخته شده در را انتخاب کنید اگر ورودی بعد از آن وارد نشود، فرمان خاتمه می یابد
TMOUT ثانیه هایی که ورودی از ترمینال می آید. در یک پوسته تعاملی،
مقدار به عنوان تعداد ثانیه های انتظار برای یک خط ورودی پس از آن تفسیر می شود
صدور اعلان اولیه بر هم زدن پس از انتظار برای آن تعداد خاتمه می یابد
اگر یک خط ورودی کامل وارد نشود، ثانیه ها.
TMPDIR اگر تنظیم شود، بر هم زدن از مقدار خود به عنوان نام دایرکتوری استفاده می کند که در آن بر هم زدن ایجاد
فایل های موقت برای استفاده پوسته
رزومه_خودکار
این متغیر نحوه تعامل پوسته با کاربر و کنترل شغل را کنترل می کند. اگر
این متغیر تنظیم شده است، دستورات ساده تک کلمه ای بدون تغییر مسیر درمان می شوند
به عنوان کاندیدا برای از سرگیری یک کار متوقف شده موجود. هیچ ابهامی وجود ندارد
مجاز؛ اگر بیش از یک کار وجود داشته باشد که با رشته تایپ شده شروع می شود، کار
آخرین دسترسی انتخاب شده است. در نام از یک کار متوقف شده، در این زمینه، است
خط فرمان مورد استفاده برای شروع آن اگر روی مقدار تنظیم شود دقیق، رشته ارائه شده است
باید دقیقاً با نام کار متوقف شده مطابقت داشته باشد. اگر تنظیم شود بستر، رشته
ارائه شده باید با یک رشته فرعی از نام یک کار متوقف شده مطابقت داشته باشد. در بستر
ارزش عملکردی مشابه با %? شناسه شغل (نگاه کنید به شغل کنترل
زیر). اگر روی هر مقدار دیگری تنظیم شود، رشته ارائه شده باید پیشوند a باشد
نام شغل متوقف شده؛ این کارکردی مشابه با %رشته کار
مشخص کننده.
هیستارها
دو یا سه کاراکتر که گسترش تاریخ و نشانه‌سازی را کنترل می‌کنند (نگاه کنید به
تاریخچه بازپرداخت زیر). شخصیت اول است تاریخ توسعه شخصیت،
کاراکتری که به طور معمول شروع یک بسط تاریخ را نشان می دهد!"
شخصیت دوم است سریع جایگزینی کاراکتری که به عنوان مختصر استفاده می شود
برای اجرای مجدد دستور قبلی وارد شده، جایگزینی یک رشته با رشته دیگر
فرمان. پیش فرض «^'. کاراکتر سوم اختیاری کاراکتر است
که نشان می‌دهد که باقی‌مانده خط یک نظر زمانی است که به عنوان اولین مورد یافت می‌شود
کاراکتر یک کلمه، معمولاً `#'. کاراکتر نظر تاریخ باعث ایجاد تاریخ می شود
جایگزینی برای کلمات باقیمانده در خط حذف شود. انجام نمیدهد
لزوماً باعث می شود تجزیه کننده پوسته بقیه خط را به عنوان یک نظر در نظر بگیرد.

آرایه ها
بر هم زدن متغیرهای آرایه نمایه شده و انجمنی یک بعدی را ارائه می دهد. هر متغیری ممکن است
به عنوان یک آرایه نمایه شده استفاده شود. را اعلام buildin به صراحت یک آرایه را اعلام می کند. آنجا
هیچ محدودیتی برای اندازه یک آرایه وجود ندارد، و همچنین هیچ الزامی برای ایندکس شدن اعضا وجود ندارد
یا به طور پیوسته اختصاص داده می شود. آرایه های نمایه شده با استفاده از اعداد صحیح (از جمله
عبارات حسابی) و مبتنی بر صفر هستند. آرایه های انجمنی با استفاده از ارجاع داده می شوند
رشته های دلخواه مگر اینکه غیر از این ذکر شود، شاخص های آرایه نمایه شده باید غیر منفی باشند
عدد صحیح

اگر هر متغیری با استفاده از نحو اختصاص داده شود، یک آرایه نمایه شده به طور خودکار ایجاد می شود
نام[اشتراک]=ارزش. اشتراک به عنوان یک عبارت حسابی در نظر گرفته می شود که باید
به یک عدد ارزیابی کنید برای اعلان صریح یک آرایه نمایه شده، استفاده کنید اعلام -a نام (نگاه کنید به
پوسته ساخته شده دستورات در زیر). اعلام -a نام[اشتراک] نیز پذیرفته می شود؛ را اشتراک
نادیده گرفته می شود

آرایه های انجمنی با استفاده از اعلام -A نام.

ممکن است برای یک متغیر آرایه با استفاده از ویژگی مشخص شود اعلام و فقط خواندنی ساخته شده
هر ویژگی برای همه اعضای یک آرایه اعمال می شود.

آرایه ها به استفاده از انتساب های ترکیبی فرم اختصاص داده می شوند نام=(ارزش1 ... ارزشn),
هر کجا ارزش به شکل [اشتراک]=رشته. انتساب آرایه های نمایه شده انجام نمی شود
نیاز به هر چیزی جز رشته. هنگام تخصیص به آرایه های نمایه شده، اگر براکت های اختیاری باشد
و زیرنویس ارائه می شود، آن شاخص به آن اختصاص داده می شود. در غیر این صورت شاخص عنصر
assigned آخرین شاخصی است که توسط عبارت بعلاوه یک به آن اختصاص داده شده است. نمایه سازی در شروع می شود
صفر

هنگام تخصیص به یک آرایه انجمنی، زیرنویس مورد نیاز است.

این نحو نیز مورد قبول است اعلام ساخته شده عناصر آرایه فردی ممکن است باشد
اختصاص داده شده به استفاده از نام[اشتراک]=ارزش نحو معرفی شده در بالا هنگام تخصیص به یک
آرایه نمایه شده، اگر نام با یک عدد منفی مشترک می شود، آن عدد به عنوان تفسیر می شود
نسبت به یک بزرگتر از حداکثر شاخص از نام، بنابراین شاخص های منفی شمارش معکوس است
از انتهای آرایه، و یک شاخص -1 به آخرین عنصر اشاره می کند.

هر عنصر آرایه ممکن است با استفاده از ${ ارجاع داده شودنام[اشتراک]}. بریس ها هستند
برای جلوگیری از تداخل با گسترش نام مسیر مورد نیاز است. اگر اشتراک is @ or *، کلمه
به همه اعضا گسترش می یابد نام. این زیرنویس ها تنها زمانی متفاوت هستند که کلمه در داخل ظاهر شود
نقل قول های دوگانه اگر کلمه دوبار نقل قول شود، ${نام[*]} به یک کلمه منفرد با کلمه گسترش می یابد
مقدار هر عضو آرایه که با اولین کاراکتر جدا شده است IFS متغیر ویژه،
و ${نام[@]} هر عنصر را گسترش می‌دهد نام به یک کلمه جداگانه زمانی که هیچ آرایه ای وجود ندارد
اعضا، ${نام[@]} به هیچ چیز گسترش می یابد. اگر بسط دو نقل قول در a رخ دهد
کلمه، بسط پارامتر اول به قسمت ابتدایی پیوست می شود
کلمه اصلی، و بسط آخرین پارامتر با آخرین قسمت از پیوست می شود
کلمه اصلی این مشابه با گسترش پارامترهای خاص است * و @ (نگاه کنید به
ویژه پارامترهای در بالا). ${#نام[اشتراک]} به طول گسترش می یابد
${نام[اشتراک]}. اگر اشتراک is * or @، بسط تعداد عناصر موجود در آن است
آرایه ارجاع به یک متغیر آرایه بدون زیرنویس معادل ارجاع است
آرایه با زیرنویس 0. اگر اشتراک برای ارجاع یک عنصر از an استفاده می شود
آرایه ایندکس شده به عددی کمتر از صفر ارزیابی می شود و نسبت به یک تفسیر می شود
بزرگتر از حداکثر شاخص آرایه است، بنابراین شاخص های منفی از آخر به عقب می شمارند
از آرایه، و یک شاخص -1 به آخرین عنصر ارجاع می دهد.

یک متغیر آرایه در صورتی مجموعه در نظر گرفته می شود که به یک زیرنویس مقداری اختصاص داده شده باشد. پوچ
رشته یک مقدار معتبر است.

به دست آوردن کلیدها (شاخص) یک آرایه و همچنین مقادیر امکان پذیر است.
${!نام[@]} و ${!نام[*]} را به شاخص های اختصاص داده شده در متغیر آرایه گسترش دهید نام.
درمان زمانی که در گیومه های دوگانه مشابه بسط پارامترهای خاص است @
و * در دو نقل قول

La تنظیم نشده buldin برای از بین بردن آرایه ها استفاده می شود. تنظیم نشده نام[اشتراک] آرایه را از بین می برد
عنصر در فهرست اشتراک. زیرنویس های منفی آرایه های نمایه شده به این صورت تفسیر می شوند
در بالا توضیح داده شد. باید مراقب بود تا از عوارض جانبی ناخواسته ناشی از نام مسیر جلوگیری شود
به گسترش است. تنظیم نشده نام، که در آن نام یک آرایه است، یا تنظیم نشده نام[اشتراک]، جایی که اشتراک
is * or @، کل آرایه را حذف می کند.

La اعلام, محلیو فقط خواندنی ساخته شده هر یک قبول می کند -a گزینه ای برای تعیین یک نمایه شده
آرایه و الف -A گزینه ای برای تعیین یک آرایه انجمنی. اگر هر دو گزینه ارائه شده باشد، -A
اولویت دارد. در خواندن ساخته شده یک را می پذیرد -a گزینه ای برای اختصاص لیستی از کلمات خوانده شده
از ورودی استاندارد به یک آرایه. را تنظیم و اعلام توکارها مقادیر آرایه را در نمایش می دهند
راهی که امکان استفاده مجدد از آنها را به عنوان تکالیف فراهم می کند.

بازپرداخت


توسعه در خط فرمان پس از تقسیم به کلمات انجام می شود. وجود دارد
هفت نوع بسط انجام شده: بند شلوار توسعه, مدک توسعه, پارامتر و
متغیر توسعه, فرمان جایگزینی, ریاضی توسعه, کلمه تقسیمو
نام خانوادگی توسعه.

ترتیب انبساط ها عبارتند از: انبساط مهاربند; بسط tilde، پارامتر و متغیر
بسط، بسط حسابی، و جایگزینی دستور (به صورت چپ به راست انجام می شود
روش)؛ تقسیم کلمه؛ و گسترش نام مسیر

در سیستم هایی که می توانند آن را پشتیبانی کنند، یک توسعه اضافی در دسترس است: روند
جایگزینی. این کار همزمان با tilde، پارامتر، متغیر و
بسط حسابی و جایگزینی دستور.

فقط بسط پرانتز، تقسیم کلمه، و بسط نام مسیر می تواند تعداد را تغییر دهد
کلمات گسترش؛ بسط های دیگر یک کلمه واحد را به یک کلمه واحد گسترش می دهند. تنها
استثناهای این بسط های "$@"و"${نام[@]}همانطور که در بالا توضیح داده شد (نگاه کنید به
پارامترهای).

برس توسعه
برس توسعه مکانیزمی است که توسط آن رشته های دلخواه ممکن است تولید شوند. این
مکانیزم مشابه است نام خانوادگی توسعه، اما نام فایل های ایجاد شده لازم نیست وجود داشته باشد.
الگوهایی که باید پرانتز بسط داده شوند به شکل اختیاری هستند مقدمهو به دنبال آن یکی از a
مجموعه ای از رشته های جدا شده با کاما یا عبارت توالی بین یک جفت پرانتز،
به دنبال آن اختیاری است ارسال نامه. مقدمه برای هر رشته موجود پیشوند است
در داخل پرانتزها، و پس اسکریپت سپس به هر رشته به دست آمده اضافه می شود و گسترش می یابد
چپ به راست.

انبساط بریس ممکن است تو در تو باشد. نتایج هر رشته گسترش یافته مرتب نشده است. ترک کرد
به ترتیب درست حفظ می شود. به عنوان مثال، یک{د، ج، ب}e به "ade ace abe" گسترش می یابد.

یک عبارت دنباله ای شکل می گیرد {x..y[..شامل]}، که در آن x و y یا اعداد صحیح هستند یا
شخصیت های تک، و شامل، یک افزایش اختیاری، یک عدد صحیح است. وقتی اعداد صحیح هستند
ارائه شده، عبارت به هر عدد بین گسترش می یابد x و y، شامل. عرضه شده است
اعداد صحیح ممکن است با پیشوند باشند 0 برای مجبور کردن هر عبارت به یک عرض یکسان. زمانی که هر دو x
or y با صفر شروع می‌شود، پوسته تلاش می‌کند تمام عبارت‌های تولید شده را مجبور کند که حاوی عبارت باشند
تعداد ارقام یکسان، در صورت لزوم، آن را صفر کنید. هنگامی که شخصیت ها عرضه می شوند،
بیان به هر کاراکتر از نظر لغوی گسترش می یابد x و y، شامل، با استفاده از
محل پیش فرض C توجه داشته باشید که هر دو x و y باید از همان نوع باشد وقتی که
افزایش ارائه شده است، از آن به عنوان تفاوت بین هر عبارت استفاده می شود. پیشفرض
افزایش در صورت لزوم 1 یا -1 است.

بسط بریس قبل از هر بسط دیگر و هر کاراکتر ویژه ای انجام می شود
بسط های دیگر در نتیجه حفظ می شوند. کاملا متنی است. بر هم زدن نمیکند
هر گونه تفسیر نحوی را در زمینه بسط یا متن بین آن اعمال کنید
بریس ها

یک انبساط بادبند که به درستی شکل گرفته است باید دارای مهاربندهای باز و بسته کننده بدون نقل قول باشد و
حداقل یک کامای نقل قول نشده یا یک عبارت متوالی معتبر. هر بریس که به درستی شکل نگرفته باشد
گسترش بدون تغییر باقی می ماند. آ { or , ممکن است برای جلوگیری از وجود آن با یک اسلش نقل قول شود
بخشی از بیان پرانتز در نظر گرفته می شود. برای جلوگیری از درگیری با بسط پارامتر،
رشته ${ برای گسترش بریس واجد شرایط در نظر گرفته نمی شود.

این سازه معمولاً به عنوان کوتاه‌نویسی زمانی که پیشوند مشترک رشته‌ها باشد استفاده می‌شود
تولید شده طولانی تر از مثال بالا است:

mkdir /usr/local/src/bash/{old,new,dist,bugs}
or
ریشه چال /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

گسترش بریس ناسازگاری جزئی با نسخه های تاریخی از sh. sh
بریس های باز یا بسته را به ویژه هنگامی که به عنوان بخشی از یک کلمه ظاهر می شوند، درمان نمی کند، و
آنها را در خروجی حفظ می کند. بر هم زدن بریس ها را از کلمات به عنوان پیامد بریس حذف می کند
گسترش به عنوان مثال، کلمه ای وارد شده به sh as فایل{1,2} به طور یکسان در
خروجی همان کلمه خروجی است file1 file2 پس از گسترش توسط بر هم زدن. اگر سختگیرانه
سازگاری با sh مورد نظر است، شروع کنید بر هم زدن با +B گزینه یا غیرفعال کردن گسترش مهاربند
با +B گزینه به تنظیم فرمان (نگاه کنید به پوسته ساخته شده دستورات در زیر).

تیلد توسعه
اگر کلمه ای با یک کاراکتر tilde بدون نقل قول شروع شود (`~')، همه شخصیت های قبلی
اولین اسلش بدون نقل قول (یا تمام کاراکترها، اگر اسلش بدون نقل قول وجود نداشته باشد) در نظر گرفته می شود
a پیشوند tilde. اگر هیچ یک از کاراکترهای موجود در پیشوند tilde نقل قول نشده باشد، کاراکترها
در tilde-پیشوند زیر tilde به عنوان یک ممکن رفتار می شود ورود نام. اگر این
نام ورود رشته تهی است، tilde با مقدار پارامتر پوسته جایگزین می شود
صفحه اصلی. اگر صفحه اصلی تنظیم نشده است، دایرکتوری اصلی کاربر که پوسته را اجرا می کند جایگزین می شود
بجای. در غیر این صورت، پیشوند tilde با فهرست اصلی مرتبط با جایگزین می شود
نام ورود مشخص شده

اگر پیشوند tilde یک '~+' باشد، مقدار متغیر پوسته است PWD جایگزین تایلد-
پیشوند اگر پیشوند tilde "~-" باشد، مقدار متغیر پوسته است OLDPWDاگر اینگونه باشد
مجموعه، جایگزین می شود. اگر کاراکترهای زیر tilde در پیشوند tilde شامل
یک عدد N، که به صورت اختیاری با یک «+» یا «-» پیشوند داده می شود، پیشوند tilde با علامت جایگزین می شود.
عنصر مربوطه از پشته دایرکتوری، همانطور که توسط نمایش داده می شود دیر
buildin با پیشوند tilde به عنوان آرگومان فراخوانی می شود. اگر شخصیت های زیر
tilde در پیشوند tilde شامل یک عدد بدون «+» یا «-» است، «+» عبارت است از
فرض.

اگر نام ورود نامعتبر باشد، یا گسترش tilde ناموفق باشد، کلمه بدون تغییر است.

هر تخصیص متغیر بلافاصله پس از a برای پیشوندهای tilde نقل قول نشده بررسی می شود :
یا اولین =. در این موارد انبساط تایلد نیز انجام می شود. در نتیجه، ممکن است
از نام فایل ها با tildes در تکالیف استفاده کنید PATH, MAILPATHو CDPATH، و پوسته
مقدار گسترش یافته را اختصاص می دهد.

پارامتر توسعه
`$کاراکتر بسط پارامتر، جایگزینی دستور یا حساب را معرفی می کند
گسترش نام پارامتر یا نمادی که باید گسترش یابد ممکن است در پرانتز قرار گیرد که
اختیاری هستند اما برای محافظت از متغیری که قرار است فوراً از کاراکترها گسترش یابد استفاده می شود
به دنبال آن که می تواند به عنوان بخشی از نام تفسیر شود.

هنگامی که از مهاربند استفاده می شود، مهاربند انتهایی منطبق اولین ` است}فرار توسط a
اسلش معکوس یا در یک رشته نقل قول، و نه در یک بسط حسابی تعبیه شده،
جایگزینی دستور یا بسط پارامتر.

${پارامتر}
ارزش پارامتر جایگزین می شود. بریس ها زمانی مورد نیاز است که پارامتر هست یک
پارامتر موقعیتی با بیش از یک رقم یا زمانی پارامتر دنبال می شود
شخصیتی که نباید به عنوان بخشی از نام آن تفسیر شود. در پارامتر هست یک
پارامتر پوسته همانطور که در بالا توضیح داده شد پارامترهای) یا مرجع آرایه (آرایه ها).

اگر شخصیت اول از پارامتر یک علامت تعجب است (!، سطحی از را معرفی می کند
غیر جهت متغیر بر هم زدن از مقدار متغیر تشکیل شده از بقیه استفاده می کند
پارامتر به عنوان نام متغیر؛ سپس این متغیر گسترش می یابد و آن مقدار است
در بقیه جانشینی به جای مقدار استفاده می شود پارامتر خود این هست
شناخته شده به عنوان غیر مستقیم توسعه. استثناهای این مورد، بسط های ${ هستند!پیشوند*و
${!نام[@]} در زیر توضیح داده شده است. علامت تعجب باید بلافاصله پس از پرانتز چپ باشد
به منظور معرفی غیر جهت.

در هر یک از موارد زیر، کلمه در معرض گسترش تایلد، بسط پارامتر،
جایگزینی دستور و بسط حسابی.

هنگامی که توسعه زیر رشته را انجام نمی دهید، از فرم های مستند شده در زیر استفاده کنید (به عنوان مثال، :-), بر هم زدن
پارامتری را که تنظیم نشده یا تهی است آزمایش می کند. حذف کولون فقط منجر به آزمایش می شود
برای پارامتری که تنظیم نشده است.

${پارامتر:-کلمه}
استفاده کنید به طور پیش فرض ارزش‌ها. اگر پارامتر تنظیم نشده یا تهی است، بسط کلمه is
جایگزین شده است. در غیر این صورت، ارزش پارامتر جایگزین شده است.
${پارامتر:=کلمه}
اختصاص دادن به طور پیش فرض ارزش‌ها. اگر پارامتر تنظیم نشده یا تهی است، بسط کلمه is
اختصاص یافته به پارامتر. ارزش پارامتر سپس جایگزین می شود. موقعیتی
پارامترها و پارامترهای خاص ممکن است به این روش اختصاص داده نشوند.
${پارامتر:?کلمه}
نمایش دادن خطا if تهی or تنظیم نشده. اگر پارامتر تهی یا تنظیم نشده است، بسط
کلمه (یا پیامی در این زمینه اگر کلمه وجود ندارد) به نوشته شده است
خطای استاندارد و پوسته، اگر تعاملی نباشد، خارج می شود. در غیر این صورت،
ارزش پارامتر جایگزین شده است.
${پارامتر:+کلمه}
استفاده کنید متناوب ارزش. اگر پارامتر تهی یا تنظیم نشده است، هیچ چیز جایگزین نمی شود،
در غیر این صورت گسترش کلمه جایگزین شده است.
${پارامتر:چاپ افست}
${پارامتر:چاپ افست:طول}
زیر رشته توسعه. گسترش می یابد تا تا طول شخصیت های ارزش پارامتر
با کاراکتر مشخص شده توسط چاپ افست. اگر پارامتر is @، یک آرایه نمایه شده
مشترک شده توسط @ or *، یا یک نام آرایه انجمنی، نتایج متفاوت است
در زیر شرح داده شده است. اگر طول حذف شده است، به زیر رشته مقدار of گسترش می یابد
پارامتر با کاراکتر مشخص شده توسط چاپ افست و تا پایان امتداد دارد
ارزش. طول و چاپ افست عبارات حسابی هستند (نگاه کنید به حساب ارزیابی
در زیر).

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

If پارامتر is @، نتیجه این است طول پارامترهای موقعیتی با شروع چاپ افست.
منفی چاپ افست نسبت به یک بزرگتر از بزرگترین موقعیت گرفته می شود
پارامتر، بنابراین یک افست -1 به آخرین پارامتر موقعیتی ارزیابی می شود. یک است
خطای گسترش اگر طول به عددی کمتر از صفر ارزیابی می کند.

If پارامتر یک نام آرایه نمایه شده است که توسط @ یا * ثبت شده است، نتیجه این است
طول اعضای آرایه که با ${ شروع می شودپارامتر[چاپ افست]}. یک منفی چاپ افست
نسبت به یک بزرگتر از حداکثر شاخص آرایه مشخص شده گرفته می شود. آی تی
یک خطای گسترش است اگر طول به عددی کمتر از صفر ارزیابی می کند.

بسط رشته فرعی اعمال شده بر روی یک آرایه انجمنی نتایج نامشخصی تولید می کند.

فهرست‌بندی زیر رشته‌ای مبتنی بر صفر است، مگر اینکه از پارامترهای موقعیتی استفاده شود
در این صورت نمایه سازی به طور پیش فرض از 1 شروع می شود. اگر چاپ افست 0 و موقعیتی است
پارامترها استفاده می شود، $0 پیشوند لیست است.

${!پیشوند*}
${!پیشوند@}
نام مطابق پیشوند. به نام متغیرهایی که نام آنها با شروع می شود گسترش می یابد
پیشوند، با شخصیت اول از جدا شده است IFS متغیر ویژه چه زمانی @ is
استفاده می شود و بسط در داخل گیومه های دوتایی ظاهر می شود، نام هر متغیر به گسترش می یابد
یک کلمه جداگانه

${!نام[@]}
${!نام[*]}
فهرست of صف کلید. اگر نام یک متغیر آرایه است که به لیست آرایه گسترش می یابد
شاخص ها (کلیدها) اختصاص داده شده در نام. اگر نام یک آرایه نیست، اگر به 0 برسد نام is
تنظیم و در غیر این صورت باطل می شود. چه زمانی @ استفاده می شود و بسط در دو برابر ظاهر می شود
نقل قول، هر کلید به یک کلمه جداگانه گسترش می یابد.

${#پارامتر}
پارامتر طول. طول به کاراکتر مقدار پارامتر is
جایگزین شده است. اگر پارامتر is * or @، مقدار جایگزین شده تعداد است
پارامترهای موقعیتی اگر پارامتر یک نام آرایه است که توسط * or @از
مقدار جایگزین شده تعداد عناصر موجود در آرایه است. اگر پارامتر است
نام آرایه نمایه شده با یک عدد منفی، آن عدد به عنوان تعبیر می شود
نسبت به یک بزرگتر از حداکثر شاخص از پارامتر، بنابراین شاخص های منفی
شمارش معکوس از انتهای آرایه، و یک شاخص -1 به آخرین مورد اشاره می کند
عنصر

${پارامتر#کلمه}
${پارامتر##کلمه}
برداشتن مطابق پیشوند الگو. کلمه برای تولید یک الگو گسترش یافته است
در گسترش نام مسیر اگر الگو با ابتدای مقدار مطابقت داشته باشد
پارامتر، سپس نتیجه بسط مقدار منبسط شده است پارامتر با
کوتاه ترین الگوی تطبیق (``#'' case) یا طولانی ترین الگوی تطبیق (the
``##'' مورد) حذف شد. اگر پارامتر is @ or *، عملیات حذف الگو می باشد
به نوبه خود برای هر پارامتر موقعیتی اعمال می شود و بسط نتیجه حاصل می شود
فهرست اگر پارامتر یک متغیر آرایه است که با @ or *، الگو
عملیات حذف به هر یک از اعضای آرایه به نوبه خود و گسترش اعمال می شود
لیست حاصل است.

${پارامتر%کلمه}
${پارامتر%%کلمه}
برداشتن مطابق پسوند الگو. کلمه برای تولید یک الگو گسترش یافته است
در گسترش نام مسیر اگر الگو با بخش انتهایی منبسط شده مطابقت داشته باشد
ارزش پارامتر، سپس نتیجه بسط مقدار منبسط شده است
پارامتر با کوتاه ترین الگوی تطبیق (``%'' مورد) یا طولانی ترین
الگوی تطبیق (``%%'' مورد) حذف شد. اگر پارامتر is @ or *، الگو
عملیات حذف به نوبه خود برای هر پارامتر موقعیتی اعمال می شود، و
گسترش فهرست حاصل است. اگر پارامتر یک متغیر آرایه مشترک است
با @ or *، عملیات حذف الگو برای هر یک از اعضای آرایه اعمال می شود
به نوبه خود، و گسترش فهرست حاصل است.

${پارامتر/الگو/رشته}
الگو جایگزینی. الگو بسط داده می شود تا یک الگو درست مانند در تولید شود
گسترش نام مسیر پارامتر گسترش یافته و طولانی ترین مسابقه از الگو در برابر
مقدار آن با رشته. اگر الگو شروع با /، همه مسابقات از
الگو جایگزین می شوند با رشته. به طور معمول فقط اولین بازی جایگزین می شود. اگر
الگو شروع با #، باید در ابتدای مقدار گسترش یافته مطابقت داشته باشد
پارامتر. اگر الگو شروع با %، باید در انتهای گسترش یافته مطابقت داشته باشد
ارزش پارامتر. اگر رشته تهی است، مطابقت دارد الگو حذف می شوند و /
پیروی الگو ممکن است حذف شود. اگر پارامتر is @ or *، تعویض
عملیات به نوبه خود برای هر پارامتر موقعیتی اعمال می شود و بسط آن است
لیست حاصل اگر پارامتر یک متغیر آرایه است که با @ or *از
عملیات جایگزینی به نوبه خود برای هر یک از اعضای آرایه اعمال می شود و
گسترش فهرست حاصل است.

${پارامتر^الگو}
${پارامتر^^الگو}
${پارامتر,الگو}
${پارامتر,,الگو}
مورد اصلاح. این بسط مورد حروف الفبا را تغییر می دهد
پارامتر. الگو بسط داده می شود تا یک الگو درست مانند نام مسیر تولید کند
گسترش هر شخصیت در مقدار گسترش یافته از پارامتر در برابر آزمایش می شود
الگو، و اگر با الگو مطابقت داشته باشد، حروف آن تبدیل می شود. الگو باید
سعی نکنید بیش از یک شخصیت را مطابقت دهید. را ^ عملگر حروف کوچک را تبدیل می کند
مطابقت حروف الگو به حروف بزرگ را , عملگر تطبیق حروف بزرگ را تبدیل می کند
حروف به حروف کوچک را ^^ و ,, بسط ها هر کاراکتر مطابق را به تبدیل می کنند
مقدار گسترش یافته؛ را ^ و , بسط ها فقط با اولی مطابقت دارند و تبدیل می شوند
کاراکتر در مقدار گسترش یافته اگر الگو حذف شده است، مانند الف رفتار می شود ?,
که با هر شخصیتی مطابقت دارد اگر پارامتر is @ or *، اصلاح مورد
عملیات به نوبه خود برای هر پارامتر موقعیتی اعمال می شود و بسط آن است
لیست حاصل اگر پارامتر یک متغیر آرایه است که با @ or *از
عملیات تغییر حالت به هر یک از اعضای آرایه به نوبه خود اعمال می شود و
گسترش فهرست حاصل است.

فرمان جایگزینی
فرمان جایگزینی اجازه می دهد تا خروجی یک دستور جایگزین نام فرمان شود. آنجا
دو شکل هستند:

$(فرمان)
or
`فرمان`

بر هم زدن بسط را با اجرا انجام می دهد فرمان و جایگزینی دستور را جایگزین کنید
با خروجی استاندارد دستور، با حذف هر خط جدید آخر. تعبیه شده است
خطوط جدید حذف نمی شوند، اما ممکن است در حین تقسیم کلمه حذف شوند. فرمان
جایگزینی $ (گربه پرونده) می تواند با معادل اما سریعتر جایگزین شود $( پرونده).

هنگامی که از شکل بک نقل قول قدیمی برای جایگزینی استفاده می شود، اسلش به معنای واقعی کلمه خود را حفظ می کند
معنی به جز زمانی که دنبال می شود $, `، یا \. اولین نقل قول پشتیبان با a قبل نیست
بک اسلش جایگزینی دستور را خاتمه می دهد. هنگام استفاده از $(فرمان) فرم، همه
کاراکترهای بین پرانتز دستور را تشکیل می دهند. هیچکدام به طور خاص درمان نمی شوند

ممکن است جایگزین های فرمان تو در تو باشد. برای لانه سازی هنگام استفاده از فرم نقل قول پشتی، از آن فرار کنید
نقل قول های داخلی با اسلش.

اگر جایگزینی در دو گیومه، تقسیم کلمه و بسط نام مسیر ظاهر شود
بر روی نتایج انجام نمی شود.

حساب توسعه
بسط حسابی امکان ارزیابی یک عبارت حسابی و
جایگزینی نتیجه فرمت بسط حسابی به صورت زیر است:

$((بیان))

فرمت قدیمی $[بیان] منسوخ شده است و در نسخه های بعدی حذف خواهد شد
بش.

La بیان به گونه ای رفتار می شود که گویی در داخل گیومه های دوگانه قرار دارد، اما یک نقل قول دوگانه در داخل
پرانتز به طور خاص مورد توجه قرار نمی گیرد. تمام نشانه های عبارت تحت پارامتر قرار می گیرند
و بسط متغیر، تعویض دستور، و حذف نقل قول. نتیجه به عنوان
عبارت حسابی که باید ارزیابی شود بسط های حسابی ممکن است تودرتو باشند.

ارزیابی طبق قوانین ذکر شده در زیر انجام می شود حساب
ارزیابی. اگر بیان نامعتبر است، بر هم زدن پیامی را چاپ می کند که نشان دهنده شکست و خیر است
جایگزینی رخ می دهد.

روند جایگزینی
روند جایگزینی در سیستم هایی که از لوله های نامگذاری شده پشتیبانی می کنند (FIFO ها) یا
/dev/fd روش نام گذاری فایل های باز شکل می گیرد <(فهرست) or >(فهرست).
روند فهرست با ورودی یا خروجی آن متصل به a اجرا می شود FIFO یا چند فایل در /dev/fd.
نام این فایل به عنوان یک آرگومان به دستور فعلی به عنوان نتیجه از ارسال می شود
گسترش اگر >(فهرست) فرم استفاده می شود، نوشتن در فایل ورودی را برای آن فراهم می کند فهرست.
اگر <(فهرست) فرم استفاده می شود، فایل ارسال شده به عنوان آرگومان باید خوانده شود تا به دست آید
خروجی از فهرست.

در صورت وجود، جایگزینی فرآیند به طور همزمان با پارامتر و انجام می شود
بسط متغیر، جایگزینی دستور، و بسط حسابی.

کلمه فتق
پوسته نتایج بسط پارامتر، تعویض دستور و محاسبات را اسکن می کند
بسطی که در داخل گیومه های دوگانه برای رخ نداده است کلمه تقسیم.

پوسته به هر شخصیت از IFS به عنوان یک جداکننده، و نتایج دیگری را تقسیم می کند
با استفاده از این کاراکترها به عنوان پایان‌دهنده میدان، به کلمات تبدیل می‌شود. اگر IFS تنظیم نشده است، یا
ارزشش دقیقا ، پیش فرض، سپس دنباله های , ,
و در ابتدا و انتهای نتایج توسعه های قبلی می باشد
نادیده گرفته شده، و هر دنباله ای از IFS کاراکترهایی که در ابتدا یا انتها نیستند برای تعیین حد و مرز استفاده می شود
کلمات اگر IFS مقداری غیر از مقدار پیش فرض دارد، سپس دنباله هایی از فضای خالی
کاراکتر فضا و برگ در ابتدا و انتهای کلمه نادیده گرفته می شوند، تا زمانی که
کاراکتر فضای خالی به مقدار است IFS (آن IFS کاراکتر فضای خالی). هر شخصیتی
in IFS این نیست IFS فضای خالی، همراه با هر مجاور IFS کاراکترهای فضای خالی،
یک میدان را محدود می کند دنباله ای از IFS کاراکترهای فضای خالی نیز به عنوان یک جداکننده در نظر گرفته می شوند.
اگر مقدار از IFS پوچ است، هیچ تقسیم کلمه ای رخ نمی دهد.

آرگومان های خالی صریح ("" or '') حفظ می شوند. آرگومان های تهی ضمنی نقل قول نشده،
در نتیجه گسترش پارامترهایی که هیچ مقداری ندارند، حذف می شوند. اگر یک
پارامتر بدون مقدار در داخل گیومه های دوبل گسترش می یابد، آرگومان تهی به دست می آید و می شود
حفظ شد

توجه داشته باشید که اگر انبساط اتفاق نیفتد، هیچ تقسیمی انجام نمی شود.

نام مسیر توسعه
پس از تقسیم کلمه، مگر اینکه -f گزینه تنظیم شده است، بر هم زدن هر کلمه را اسکن می کند
کاراکتر *, ?و [. اگر یکی از این شخصیت ها ظاهر شود، کلمه به عنوان در نظر گرفته می شود
a الگو، و با یک لیست مرتب شده بر اساس حروف الفبا از نام های فایل مطابق با جایگزین شده است
الگوی (نگاه کنید به الگو تطابق زیر). اگر هیچ نام فایل منطبقی یافت نشد، و پوسته
انتخاب nullglob فعال نیست، کلمه بدون تغییر باقی می ماند. اگر nullglob گزینه است
تنظیم شد، و هیچ منطبقی یافت نشد، کلمه حذف می شود. اگر failglob گزینه پوسته تنظیم شده است،
و هیچ منطبقی پیدا نشد، پیغام خطا چاپ می شود و دستور اجرا نمی شود. اگر
گزینه پوسته nocaseglob فعال است، مسابقه بدون توجه به مورد انجام می شود
از حروف الفبا توجه داشته باشید که هنگام استفاده از عبارات محدوده مانند [az] (به زیر مراجعه کنید)،
بسته به تنظیمات، حروف مورد دیگر ممکن است شامل شود LC_COLLATE. هنگامی که یک
الگو برای بسط نام مسیر، کاراکتر استفاده می شود ``. در شروع یک نام یا
بلافاصله پس از یک اسلش باید به صراحت مطابقت داده شود، مگر اینکه گزینه پوسته نقطه گلوب
تنظیم شده است. هنگام تطبیق نام مسیر، کاراکتر اسلش باید همیشه به طور صریح مطابقت داشته باشد.
در موارد دیگر ، ``. شخصیت مورد توجه خاصی قرار نمی گیرد. توضیحات را ببینید
خرید زیر زیر پوسته ساخته شده دستورات برای شرح nocaseglob, nullglob,
failglobو نقطه گلوب گزینه های پوسته

La GLOBIGNORE متغیر پوسته ممکن است برای محدود کردن مجموعه ای از نام فایل های مطابق با a استفاده شود
الگو. اگر GLOBIGNORE تنظیم شده است، هر نام فایل منطبقی که با یکی از آنها نیز مطابقت دارد
الگوهای در GLOBIGNORE از لیست مسابقات حذف شده است. نام فایل ها ``. و
``..'' زمانی که همیشه نادیده گرفته می شوند GLOBIGNORE تنظیم شده است و پوچ نیست. با این حال، تنظیم
GLOBIGNORE به یک مقدار غیر تهی اثر فعال کردن آن را دارد نقطه گلوب گزینه پوسته، بنابراین همه
نام فایل های دیگر که با a شروع می شوند ``. مطابقت خواهد داشت. برای به دست آوردن رفتار قدیمی نادیده گرفتن
نام فایل هایی که با a شروع می شوند ``.، ایجاد کنید ``.*'' یکی از الگوهای در GLOBIGNORE.
نقطه گلوب زمانی که گزینه غیرفعال می شود GLOBIGNORE تنظیم نشده است

الگو تطابق

هر کاراکتری که در یک الگو ظاهر می شود، غیر از کاراکترهای الگوی خاص
شرح داده شده در زیر، خود را مطابقت دارد. کاراکتر NUL ممکن است در یک الگو رخ ندهد. آ
بک اسلش از کاراکتر زیر فرار می کند. هنگامی که اسلش فرار حذف می شود
تطابق. اگر قرار است کاراکترهای الگوی خاص مطابقت داشته باشند، باید نقل قول شوند
به معنای واقعی کلمه.

کاراکترهای الگوی خاص معانی زیر را دارند:

* با هر رشته، از جمله رشته پوچ مطابقت دارد. وقتی که گلوبستار صدف
گزینه فعال است، و * در زمینه گسترش نام مسیر، دو استفاده می شود
مجاور *s مورد استفاده به عنوان یک الگوی واحد با تمام فایل ها و صفر یا بیشتر مطابقت دارد
دایرکتوری ها و زیر شاخه ها اگر به دنبال آن a /، دو مجاور *اراده خواهد کرد
فقط دایرکتوری ها و زیر شاخه ها را مطابقت دهید.
? منطبق با هر شخصیت منفرد.
[...] با هر یک از شخصیت های محصور مطابقت دارد. یک جفت شخصیت از هم جدا شدند
با خط فاصله نشان دهنده a محدوده بیان; هر شخصیتی که بین آنها قرار می گیرد
آن دو کاراکتر، شامل، با استفاده از تطبیق محلی فعلی
توالی و مجموعه شخصیت، مطابقت دارد. اگر اولین کاراکتر زیر باشد
la [ هست یک ! یا یک ^ سپس هر کاراکتری که محصور نشده باشد مطابقت دارد. در
ترتیب مرتب سازی کاراکترها در عبارات محدوده توسط
محل فعلی و مقادیر LC_COLLATE or LC_ALL متغیرهای پوسته،
اگر تنظیم شود برای به دست آوردن تفسیر سنتی عبارات محدوده،
جایی که [آگهی] برابر است با [آ ب پ ت]، مقدار تنظیم شده از LC_ALL متغیر پوسته
به C، یا فعال کنید globasciiranges گزینه پوسته آ - ممکن است با
از جمله آن به عنوان اولین یا آخرین شخصیت در مجموعه. آ ] ممکن است مطابقت داشته باشد
با گنجاندن آن به عنوان شخصیت اول در مجموعه.

در داخل [ و ], شخصیت کلاس ها را می توان با استفاده از نحو مشخص کرد
[:کلاس:]، که در آن کلاس یکی از کلاس های زیر است که در POSIX تعریف شده است
استاندارد:
سال تحصیلی آلفا ASCII سفید cntrl رقمی گراف کاهش چاپ نقطه گذاری فضا بالا کلمه
xdigit
یک کلاس کاراکتر با هر کاراکتری متعلق به آن کلاس مطابقت دارد. در کلمه
کلاس کاراکتر با حروف، ارقام و کاراکتر _ مطابقت دارد.

در داخل [ و ]، هم ارزی کلاس را می توان با استفاده از نحو مشخص کرد
[=c=]، که با همه کاراکترها با وزن ترکیبی یکسان مطابقت دارد (مانند
تعریف شده توسط محلی فعلی) به عنوان کاراکتر c.

در داخل [ و ]، نحو [.نماد.] با نماد تطبیق مطابقت دارد نماد.

اگر extglob گزینه shell با استفاده از گزینه فعال می شود خرید ساخته شده، چندین الگوی توسعه یافته
عملگرهای منطبق شناسایی می شوند. در توضیحات زیر، الف الگوی لیست یک لیست است
از یک یا چند الگو که با a جدا شده اند |. الگوهای کامپوزیت ممکن است با استفاده از یک یا تشکیل شوند
بیشتر از الگوهای فرعی زیر:

?(الگوی لیست)
با صفر یا یک وقوع الگوهای داده شده مطابقت دارد
*(الگوی لیست)
با صفر یا چند مورد از الگوهای داده شده مطابقت دارد
+(الگوی لیست)
با یک یا چند مورد از الگوهای داده شده مطابقت دارد
@(الگوی لیست)
با یکی از الگوهای داده شده مطابقت دارد
!(الگوی لیست)
با هر چیزی به جز یکی از الگوهای داده شده مطابقت دارد

نقل قول کردن حذف کردن
پس از بسط های قبلی، تمام اتفاقات نقل قول نشده شخصیت ها \, 'و "
که ناشی از یکی از گسترش های فوق نبوده است حذف می شوند.

تغییر مسیر


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

هر تغییر مسیری که ممکن است قبل از یک شماره توصیفگر فایل باشد، ممکن است قبل از آن باشد
با یک کلمه از شکل {نام متغیر}. در این مورد، برای هر عملگر تغییر مسیر به جز >&-
و <&-، پوسته یک توصیفگر فایل بزرگتر یا مساوی 10 را اختصاص می دهد و اختصاص می دهد
آن را به نام متغیر. اگر >&- یا <&- قبل از {نام متغیر}، ارزش نام متغیر تعریف می کند
توصیف کننده فایل برای بسته شدن

در توضیحات زیر در صورت حذف شماره توصیفگر فایل و اولی
کاراکتر عملگر تغییر مسیر است <، تغییر جهت به ورودی استاندارد اشاره دارد
(مشخص کننده فایل 0). اگر اولین کاراکتر عملگر تغییر مسیر باشد >از
تغییر مسیر به خروجی استاندارد (مشخص کننده فایل 1) اشاره دارد.

کلمه زیر عملگر تغییر مسیر در توضیحات زیر، مگر اینکه
در غیر این صورت ذکر شده است، در معرض انبساط مهاربند، گسترش تایلد، پارامتر و متغیر است
بسط، جایگزینی دستور، بسط حسابی، حذف نقل قول، بسط نام مسیر،
و تقسیم کلمات اگر به بیش از یک کلمه گسترش یابد، بر هم زدن یک خطا گزارش می دهد

توجه داشته باشید که ترتیب تغییر مسیرها قابل توجه است. مثلا دستور

ls > فهرست 2>&1

خروجی استاندارد و خطای استاندارد را به فایل هدایت می کند dirlist، در حالی که دستور

ls 2>&1 > dirlist

فقط خروجی استاندارد را به فایل هدایت می کند dirlist، زیرا خطای استاندارد بود
قبل از اینکه خروجی استاندارد به آن هدایت شود، از خروجی استاندارد کپی شده است dirlist.

بر هم زدن همانطور که توضیح داده شد، چندین نام فایل را به ویژه هنگامی که در تغییر مسیرها استفاده می شوند، مدیریت می کند
در جدول زیر:

/dev/fd/fd
If fd یک عدد صحیح معتبر، توصیفگر فایل است fd تکراری است
/dev/stdin
توصیفگر فایل 0 تکراری است.
/dev/stdout
توصیفگر فایل 1 تکراری است.
/dev/stderr
توصیفگر فایل 2 تکراری است.
/dev/tcp/میزبان/بندر
If میزبان یک نام میزبان یا آدرس اینترنتی معتبر است و بندر یک پورت عدد صحیح است
شماره یا نام سرویس، بر هم زدن تلاش می کند تا سوکت TCP مربوطه را باز کند.
/dev/udp/میزبان/بندر
If میزبان یک نام میزبان یا آدرس اینترنتی معتبر است و بندر یک پورت عدد صحیح است
شماره یا نام سرویس، بر هم زدن سعی می کند سوکت UDP مربوطه را باز کند.

شکست در باز کردن یا ایجاد یک فایل باعث می شود که تغییر مسیر با شکست مواجه شود.

تغییر مسیرها با استفاده از توصیفگرهای فایل بزرگتر از 9 باید با احتیاط مورد استفاده قرار گیرند
در تضاد با توصیفگرهای فایل که پوسته به صورت داخلی استفاده می کند.

توجه داشته باشید که exec دستور داخلی می تواند تغییر مسیرها را در پوسته فعلی اعمال کند.

تغییر مسیر ورودی
تغییر مسیر ورودی باعث می شود فایلی که نام آن از گسترش آن حاصل می شود کلمه به
برای خواندن در توصیفگر فایل باز شد n، یا ورودی استاندارد (فایل توصیفگر 0) اگر n is
مشخص نشده است

فرمت کلی برای تغییر مسیر ورودی به این صورت است:

[n]<کلمه

تغییر مسیر تولید
تغییر مسیر خروجی باعث می شود فایلی که نام آن از گسترش آن حاصل می شود کلمه به
برای نوشتن روی توصیفگر فایل باز شد n، یا خروجی استاندارد (فایل توصیفگر 1) اگر n
مشخص نشده است. اگر فایل وجود نداشته باشد ایجاد می شود. اگر وجود داشته باشد، هست
به اندازه صفر کوتاه شده است.

فرمت کلی برای تغییر مسیر خروجی به صورت زیر است:

[n]>کلمه

اگر عملگر تغییر مسیر باشد >، و نوکلوببر گزینه به تنظیم ساخته شده است
فعال باشد، اگر فایلی که نام آن از گسترش یافتن شود، تغییر مسیر ناموفق خواهد بود
کلمه وجود دارد و یک فایل معمولی است. اگر عملگر تغییر مسیر باشد >|، یا تغییر مسیر
اپراتور است > و نوکلوببر گزینه به تنظیم فرمان داخلی فعال نیست،
حتی اگر فایل نامگذاری شده توسط کلمه وجود دارد

در حال الحاق هدایت شد تولید
تغییر جهت خروجی به این روش باعث می شود فایلی که نام آن از
گسترش از کلمه برای افزودن به توصیفگر فایل باز شود n، یا خروجی استاندارد
(پرونده توصیفگر 1) اگر n مشخص نشده است. اگر فایل وجود نداشته باشد ایجاد می شود.

فرمت کلی برای الحاق خروجی به صورت زیر است:

[n]>>کلمه

تغییر مسیر استاندارد تولید و استاندارد خطا
این ساختار هم خروجی استاندارد (فایل توصیفگر 1) و هم خطای استاندارد را اجازه می دهد
خروجی (مشخص کننده فایل 2) به فایلی که نام آن گسترش یافته است هدایت شود
کلمه.

دو فرمت برای تغییر مسیر خروجی استاندارد و خطای استاندارد وجود دارد:

&>کلمه
و
>&کلمه

از بین دو شکل، اولی ارجحیت دارد. این از نظر معنایی معادل است

>کلمه 2>&1

هنگام استفاده از فرم دوم، کلمه ممکن است به یک عدد یا -. اگر این کار را کرد، دیگر
عملگرهای تغییر مسیر اعمال می شوند (نگاه کنید به کپی کردن پرونده توصیف کنندگان زیر) برای سازگاری
دلایل

در حال الحاق استاندارد تولید و استاندارد خطا
این ساختار هم خروجی استاندارد (فایل توصیفگر 1) و هم خطای استاندارد را اجازه می دهد
خروجی (مشخص کننده فایل 2) به فایلی که نام آن بسط است الحاق شود کلمه.

فرمت الحاق خروجی استاندارد و خطای استاندارد به صورت زیر است:

&>>کلمه

این از نظر معنایی معادل است

>>کلمه 2>&1

(نگاه کنید به کپی کردن پرونده توصیف کنندگان در زیر).

اینجا اسناد
این نوع تغییر مسیر به پوسته دستور می دهد تا ورودی را از منبع فعلی بخواند تا a
خطی که فقط شامل حائل، جداکننده (بدون هیچ جای خالی بعدی) دیده می شود. تمام سطرها خوانده شد
تا آن نقطه به عنوان ورودی استاندارد برای یک فرمان استفاده می شود.

فرمت اسناد اینجاست:

<<[-]کلمه
اینجا-سند
حائل، جداکننده

بدون بسط پارامتر و متغیر، جایگزینی دستور، بسط حسابی یا
گسترش نام مسیر در انجام می شود کلمه. اگر شخصیتی در کلمه نقل شده اند،
حائل، جداکننده نتیجه حذف نقل قول در است کلمهو خطوط موجود در سند اینجا هستند
گسترش نیافته است. اگر کلمه نقل قول نشده است، تمام خطوط سند در اینجا مشمول آن است
بسط پارامتر، جایگزینی دستور، و بسط حسابی، کاراکتر
دنباله \ نادیده گرفته می شود، و \ باید برای نقل قول از شخصیت ها استفاده شود \, $و `.

اگر عملگر تغییر مسیر باشد <<-، سپس تمام کاراکترهای برگه اصلی حذف می شوند
خطوط ورودی و خط حاوی حائل، جداکننده. این اجازه می دهد تا اسناد اینجا را در داخل پوسته داشته باشید
اسکریپت ها باید به شکل طبیعی تورفتگی داشته باشند.

اینجا رشته
گونه ای از اسناد در اینجا، فرمت آن به این صورت است:

<<کلمه

La کلمه تحت انبساط بادبند، انبساط تایلد، بسط پارامتر و متغیر،
جایگزینی دستور، بسط حسابی، و حذف نقل قول. گسترش نام مسیر و
تقسیم کلمه انجام نمی شود. نتیجه به صورت یک رشته واحد در اختیار قرار می گیرد
دستور روی ورودی استاندارد آن

کپی کردن پرونده توصیف کنندگان
عملگر تغییر مسیر

[n]<&کلمه

برای کپی کردن توصیفگرهای فایل ورودی استفاده می شود. اگر کلمه به یک یا چند رقم گسترش می یابد
توصیف کننده فایل که با n ساخته شده است تا یک کپی از آن توصیف کننده فایل باشد. اگر ارقام
in کلمه توصیفگر فایلی را که برای ورودی باز است مشخص نکنید، یک خطای تغییر مسیر رخ می دهد. اگر
کلمه ارزیابی می کند به -، توصیف کننده فایل n بسته است. اگر n مشخص نشده است، استاندارد
ورودی (مشخص کننده فایل 0) استفاده می شود.

اپراتور

[n]>&کلمه

به طور مشابه برای توصیفگرهای فایل خروجی تکراری استفاده می شود. اگر n مشخص نشده است،
خروجی استاندارد (فایل توصیفگر 1) استفاده می شود. اگر ارقام در کلمه فایلی را مشخص نکنید
توصیفگر برای خروجی باز است، یک خطای تغییر مسیر رخ می دهد. اگر کلمه ارزیابی می کند به -، فایل
توصیف کننده n بسته است. به عنوان یک مورد خاص، اگر n حذف شده است، و کلمه به گسترش نمی یابد
یک یا چند رقم یا -، خروجی استاندارد و خطای استاندارد به صورت هدایت می شوند
قبلا شرح داده شد

متحرک پرونده توصیف کنندگان
عملگر تغییر مسیر

[n]<&رقمی-

توصیفگر فایل را حرکت می دهد رقمی برای توصیف فایل n، یا ورودی استاندارد (فایل
توصیفگر 0) اگر n مشخص نشده است رقمی پس از کپی شدن بسته می شود n.

به طور مشابه، عملگر تغییر مسیر

[n]>&رقمی-

توصیفگر فایل را حرکت می دهد رقمی برای توصیف فایل n، یا خروجی استاندارد (فایل
توصیفگر 1) اگر n مشخص نشده است

افتتاح پرونده توصیف کنندگان برای مطالعه و نوشته
عملگر تغییر مسیر

[n]<>کلمه

باعث می شود فایلی که نام آن بسط می باشد کلمه هم برای خواندن و هم برای باز شدن
نوشتن روی توصیفگر فایل n، یا در توصیفگر فایل 0 if n مشخص نشده است. اگر فایل
وجود ندارد، ایجاد شده است.

نام مستعار


نام مستعار اجازه دهید یک رشته به جای کلمه ای که به عنوان اولین کلمه a استفاده می شود جایگزین شود
دستور ساده پوسته فهرستی از نام های مستعار را که ممکن است با آن تنظیم و تنظیم شوند نگهداری می کند
نام مستعار و آنالیز دستورات داخلی (نگاه کنید به پوسته ساخته شده دستورات زیر). اولین کلمه از
هر دستور ساده، اگر نقل قول نشده باشد، بررسی می شود تا ببینیم آیا نام مستعار دارد یا خیر. اگر چنین است، آن کلمه
با متن نام مستعار جایگزین می شود. شخصیت ها /, $, `و = و هر یک از پوسته
متاکاراکترها یا به نقل از کاراکترهای فهرست شده در بالا ممکن است در نام مستعار ظاهر نشوند. در
متن جایگزین ممکن است حاوی هر ورودی پوسته معتبر، از جمله متاکاراکترهای پوسته باشد. در
کلمه اول متن جایگزین برای نام مستعار آزمایش می شود، اما کلمه ای که با آن یکسان است
نام مستعار در حال گسترش برای بار دوم گسترش نمی یابد. این بدان معنی است که ممکن است یک نام مستعار باشد ls
به ls -Fبه عنوان مثال ، و بر هم زدن سعی نمی کند متن جایگزین را به صورت بازگشتی گسترش دهد.
اگر آخرین کاراکتر مقدار مستعار a باشد سفید، سپس کلمه دستور بعدی زیر
نام مستعار نیز برای گسترش نام مستعار بررسی می شود.

نام‌های مستعار ایجاد و فهرست‌بندی می‌شوند نام مستعار فرمان، و با آنالیز
فرمان

هیچ مکانیزمی برای استفاده از آرگومان ها در متن جایگزین وجود ندارد. اگر استدلال هستند
لازم است، یک تابع پوسته باید استفاده شود (نگاه کنید به توابع در زیر).

وقتی پوسته تعاملی نباشد، نام مستعار گسترش نمی‌یابد، مگر اینکه expand_aliases
گزینه shell با استفاده از آن تنظیم شده است خرید (توضیحات را ببینید خرید زیر پوسته ساخته شده دستورات
در زیر).

قوانین مربوط به تعریف و استفاده از نام مستعار تا حدودی گیج کننده است. بر هم زدن
همیشه حداقل یک خط کامل از ورودی را قبل از اجرای هر یک از دستورات می خواند
آن خط نام مستعار زمانی که یک فرمان خوانده می شود گسترش می یابد، نه زمانی که آن را اجرا می کند.
بنابراین، یک تعریف مستعار که در همان خط با دستور دیگری ظاهر می شود، دریافت نمی شود
تا زمانی که خط بعدی ورودی خوانده شود، اثر می گذارد. دستورات زیر تعریف مستعار
در آن خط تحت تأثیر نام مستعار جدید قرار نمی گیرند. این رفتار نیز یک مسئله زمانی است که
توابع اجرا می شوند. نام مستعار زمانی که تعریف یک تابع خوانده می شود گسترش می یابد، نه زمانی که
تابع اجرا می شود، زیرا تعریف تابع خود یک دستور مرکب است. مانند
در نتیجه، نام مستعار تعریف شده در یک تابع تا بعد از آن تابع در دسترس نیستند
اجرا می شود. برای ایمن بودن، همیشه تعاریف مستعار را در یک خط جداگانه قرار دهید و از آن استفاده نکنید
نام مستعار در دستورات مرکب

تقریباً برای هر هدفی، نام مستعار با توابع پوسته جایگزین می شوند.

توابع


یک تابع پوسته، همانطور که در بالا توضیح داده شد پوسته دستور زبان، یک سری از
دستورات برای اجرای بعدی هنگامی که نام یک تابع پوسته به صورت ساده استفاده می شود
نام فرمان، لیستی از دستورات مرتبط با نام تابع اجرا می شود.
توابع در زمینه پوسته فعلی اجرا می شوند. هیچ فرآیند جدیدی ایجاد نمی شود
آنها را تفسیر کنید (این را با اجرای یک اسکریپت پوسته مقایسه کنید). وقتی یک تابع است
در صورت اجرا، آرگومان های تابع به پارامترهای موقعیتی در طول آن تبدیل می شوند
اجرا. پارامتر خاص # به روز می شود تا تغییر را منعکس کند. پارامتر ویژه 0
بدون تغییر است. اولین عنصر از FUNCNAME متغیر به نام تنظیم شده است
عملکرد در حین اجرای تابع

تمام جنبه های دیگر محیط اجرای پوسته بین یک تابع و یکسان است
تماس گیرنده آن با این استثنائات: the اشکال زدایی و برگشت تله ها (توضیحات را ببینید
دام تعبیه شده در زیر پوسته ساخته شده دستورات زیر) به ارث برده نمی شوند مگر اینکه تابع داشته باشد
داده شده است رد ویژگی (توضیحات را ببینید اعلام ساخته شده در زیر) یا
-o تابع گزینه shell با فعال شده است تنظیم داخلی (در این صورت همه
توابع به ارث می برند اشکال زدایی و برگشت تله ها)، و ERR تله ارثی نیست مگر اینکه
la -o اشتباه کردن گزینه shell فعال شده است.

متغیرهای محلی تابع ممکن است با اعلان شوند محلی دستور داخلی
معمولاً متغیرها و مقادیر آنها بین تابع و فراخوان دهنده آن به اشتراک گذاشته می شود.

La FUNCNEST متغیر، اگر روی مقدار عددی بزرگتر از 0 تنظیم شود، حداکثر را تعریف می کند
سطح تودرتو عملکرد فراخوانی تابعی که از حد مجاز فراتر می رود باعث کل می شود
دستور سقط

اگر دستورbuildin برگشت در یک تابع اجرا می شود، تابع کامل می شود و
اجرا با دستور بعدی پس از فراخوانی تابع از سر گرفته می شود. هر دستور مرتبط
با برگشت trap قبل از شروع مجدد اجرا اجرا می شود. وقتی یک تابع کامل شد،
مقادیر پارامترهای موقعیتی و پارامتر ویژه # به مقادیر بازگردانده می شوند
آنها قبل از اجرای تابع داشتند.

نام و تعاریف توابع ممکن است با -f گزینه به اعلام or نوع
دستورات داخلی در -F گزینه ای برای اعلام or نوع فقط نام توابع را فهرست می کند
(و به صورت اختیاری فایل منبع و شماره خط، اگر extdebug گزینه پوسته فعال است).
توابع ممکن است صادر شوند تا پوسته های فرعی به طور خودکار آنها را با آن تعریف کنند -f
گزینه به صادرات ساخته شده یک تعریف تابع ممکن است با استفاده از آن حذف شود -f گزینه ای برای
la تنظیم نشده ساخته شده توجه داشته باشید که توابع پوسته و متغیرهایی با همین نام ممکن است ایجاد شوند
در چندین ورودی با نام یکسان در محیط به فرزندان پوسته منتقل می شود.
در مواردی که ممکن است مشکل ایجاد کند باید مراقب بود.

توابع ممکن است بازگشتی باشند. در FUNCNEST متغیر ممکن است برای محدود کردن عمق استفاده شود
پشته فراخوانی تابع و محدود کردن تعداد فراخوانی های تابع. به طور پیش فرض، بدون محدودیت
بر تعداد تماس های بازگشتی تحمیل می شود.

حساب ارزیابی


پوسته اجازه می دهد تا عبارات حسابی تحت شرایط خاص ارزیابی شوند (نگاه کنید به
la اجازه و اعلام دستورات داخلی و حساب توسعه). ارزیابی در انجام می شود
اعداد صحیح با عرض ثابت بدون بررسی سرریز، اگرچه تقسیم بر 0 به دام افتاده است و
به عنوان یک خطا پرچم گذاری شده است. عملگرها و تقدم، ارتباط و مقادیر آنها هستند
مانند زبان C. لیست اپراتورهای زیر در سطوح گروه بندی شده است
عملگرهای با اولویت برابر سطوح به ترتیب تقدم کاهشی فهرست شده اند.

id++ id--
متغیر پس از افزایش و پس از کاهش
++id --id
متغیر پیش افزایش و پیش کاهش
- + منهای یکنواخت و مثبت
! ~ نفی منطقی و بیتی
** نمایش
* / % ضرب، تقسیم، باقیمانده
+ - جمع، تفریق
<< >> جابجایی بیتی چپ و راست
<= >= < >
مقایسه
== != برابری و نابرابری
& بیتی و
^ OR انحصاری بیتی
| بیتی OR
&& منطقی و
|| منطقی OR
صادرات?صادرات:صادرات
عملگر شرطی
= *= /= %= += -= << = >> = &= ^= |=
واگذاری
EXPR1 , EXPR2
کاما

متغیرهای پوسته به عنوان عملوند مجاز هستند. بسط پارامتر قبل از
بیان ارزیابی می شود. در یک عبارت، متغیرهای پوسته نیز ممکن است با ارجاع داده شوند
بدون استفاده از نحو بسط پارامتر نامگذاری کنید. یک متغیر پوسته که null یا تنظیم نشده است
در صورت ارجاع به نام بدون استفاده از نحو بسط پارامتر به 0 ارزیابی می شود. را
مقدار یک متغیر زمانی که به آن ارجاع داده می شود به عنوان یک عبارت حسابی ارزیابی می شود
وقتی متغیری که به آن داده شده است عدد صحیح با استفاده از ویژگی اعلام -i اختصاص داده شده است
ارزش. یک مقدار تهی به 0 ارزیابی می شود. یک متغیر پوسته نیازی به داشتن آن ندارد عدد صحیح صفت
برای استفاده در یک عبارت روشن شد.

ثابت‌های با صفر اول به‌عنوان اعداد هشت‌گانه تفسیر می‌شوند. 0x یا 0X پیشرو نشان می دهد
هگزادسیمال در غیر این صورت، اعداد به شکل [پایه#]n، که در آن اختیاری است پایه هست یک
عدد اعشاری بین 2 و 64 نشان دهنده مبنای حسابی و n یک عدد در است
آن پایگاه اگر پایه# حذف می شود، سپس از پایه 10 استفاده می شود. هنگام مشخص کردن n، ارقام
بزرگتر از 9 با حروف کوچک، حروف بزرگ، @ و _ نشان داده می شود،
به ترتیب اگر پایه کوچکتر یا مساوی 36 باشد، حروف کوچک و بزرگ ممکن است
برای نمایش اعداد بین 10 و 35 به جای یکدیگر استفاده شود.

اپراتورها به ترتیب اولویت ارزیابی می شوند. عبارات فرعی داخل پرانتز هستند
ابتدا ارزیابی می شود و ممکن است قوانین تقدم بالا را لغو کند.

شرطی اصطلاحات


عبارات شرطی توسط the استفاده می شود [[ دستور مرکب و آزمون و [ خانه
دستوراتی برای آزمایش ویژگی های فایل و انجام مقایسه های رشته ای و ریاضی.
عبارات از جمله های اولیه یکنفره یا باینری زیر تشکیل می شوند. در صورت وجود پرونده استدلال
به یکی از مقدماتی از فرم است /dev/fd/n، سپس توصیفگر فایل n بررسی می شود. اگر
la پرونده استدلال به یکی از مقدماتی یکی از است /dev/stdin, /dev/stdout، یا
/dev/stderr، توصیفگر فایل 0، 1 یا 2 به ترتیب بررسی می شود.

مگر اینکه در غیر این صورت مشخص شده باشد، مقدماتی که روی فایل ها کار می کنند، از پیوندهای نمادین و
به جای خود پیوند، بر روی هدف پیوند عمل کنید.

هنگامی که با استفاده می شود [[از < و > عملگرها به صورت واژگانی با استفاده از محلی فعلی مرتب می کنند.
La آزمون دستور با استفاده از ترتیب ASCII مرتب می شود.

-a پرونده
درست است اگر پرونده وجود دارد
-b پرونده
درست است اگر پرونده وجود دارد و یک فایل خاص بلوکی است.
-c پرونده
درست است اگر پرونده وجود دارد و یک فایل ویژه کاراکتر است.
-d پرونده
درست است اگر پرونده وجود دارد و یک دایرکتوری است.
-e پرونده
درست است اگر پرونده وجود دارد
-f پرونده
درست است اگر پرونده وجود دارد و یک فایل معمولی است.
-g پرونده
درست است اگر پرونده وجود دارد و set-group-id است.
-h پرونده
درست است اگر پرونده وجود دارد و یک پیوند نمادین است.
-k پرونده
درست است اگر پرونده وجود دارد و بیت «چسبنده» آن تنظیم شده است.
-p پرونده
درست است اگر پرونده وجود دارد و یک لوله با نام (FIFO) است.
-r پرونده
درست است اگر پرونده وجود دارد و قابل خواندن است.
-s پرونده
درست است اگر پرونده وجود دارد و اندازه ای بزرگتر از صفر دارد.
-t fd اگر توصیفگر فایل درست است fd باز است و به یک ترمینال اشاره دارد.
-u پرونده
درست است اگر پرونده وجود دارد و بیت set-user-id آن تنظیم شده است.
-w پرونده
درست است اگر پرونده وجود دارد و قابل نوشتن است.
-x پرونده
درست است اگر پرونده وجود دارد و قابل اجرا است.
-G پرونده
درست است اگر پرونده وجود دارد و متعلق به شناسه گروه موثر است.
-L پرونده
درست است اگر پرونده وجود دارد و یک پیوند نمادین است.
-N پرونده
درست است اگر پرونده وجود دارد و از آخرین بار خوانده شده اصلاح شده است.
-O پرونده
درست است اگر پرونده وجود دارد و متعلق به شناسه کاربر موثر است.
-S پرونده
درست است اگر پرونده وجود دارد و یک سوکت است.
file1 -اگر file2
درست است اگر file1 و file2 به همان دستگاه و شماره های ایند مراجعه کنید.
file1 -nt file2
درست است اگر file1 جدیدتر است (با توجه به تاریخ اصلاح) از file2، یا اگر file1
وجود دارد و file2 نمی کند
file1 -ot file2
درست است اگر file1 بزرگتر از file2، یا اگر file2 وجود دارد و file1 نمی کند
-o نام انتخابی
اگر گزینه پوسته باشد درست است نام انتخابی فعال شده است. لیست گزینه ها را در زیر ببینید
شرح از -o گزینه به تنظیم تعبیه شده در زیر
-v نام متغیر
اگر متغیر پوسته باشد درست است نام متغیر تنظیم شده است (یک مقدار اختصاص داده شده است).
-R نام متغیر
اگر متغیر پوسته باشد درست است نام متغیر تنظیم شده است و یک مرجع نام است.
-z رشته
درست است اگر طول رشته صفر است
رشته
-n رشته
درست است اگر طول رشته غیر صفر است

string1 == string2
string1 = string2
اگر رشته ها مساوی باشند درست است. = باید با استفاده شود آزمون دستور برای POSIX
انطباق هنگام استفاده با [[ دستور، این تطبیق الگو را به عنوان انجام می دهد
شرح داده شده در بالا (ترکیب دستورات).

string1 != string2
اگر رشته ها برابر نباشند درست است.

string1 < string2
درست است اگر string1 قبل مرتب می شود string2 از نظر لغوی

string1 > string2
درست است اگر string1 مرتب می کند string2 از نظر لغوی

arg1 OP arg2
OP یکی از معادله, -نه, -آن, , -بله، یا -GE. این عملگرهای باینری حسابی
بازگشت true if arg1 برابر است، مساوی نیست، کمتر از، کمتر یا مساوی است،
بزرگتر یا بزرگتر از یا مساوی arg2بود. arg1 و arg2 شاید
اعداد صحیح مثبت یا منفی

SIMPLE COMMAND بازپرداخت


هنگامی که یک دستور ساده اجرا می شود، پوسته توسعه های زیر را انجام می دهد:
تکالیف، و تغییر مسیرها، از چپ به راست.

1. کلماتی که تجزیه کننده به عنوان تخصیص متغیر علامت گذاری کرده است (آنهایی که قبل از
نام فرمان) و تغییر مسیرها برای پردازش بعدی ذخیره می شوند.

2. کلماتی که تخصیص یا تغییر مسیر متغیر نیستند بسط می یابند. در صورت وجود
کلمات پس از بسط باقی می مانند، اولین کلمه به عنوان نام دستور در نظر گرفته می شود
و کلمات باقیمانده استدلال هستند.

3. تغییر مسیرها همانطور که در بالا توضیح داده شد انجام می شود تغییر مسیر.

4. متن بعد از = در هر انتساب متغیر تحت بسط tilde قرار می گیرد،
بسط پارامتر، جایگزینی دستور، بسط حسابی و حذف نقل قول
قبل از تخصیص به متغیر

اگر نام دستوری به دست نیاید، تخصیص متغیرها بر محیط پوسته فعلی تأثیر می‌گذارند.
در غیر این صورت متغیرها به محیط دستور اجرا شده اضافه می شوند و نمی شوند
محیط پوسته فعلی را تحت تاثیر قرار می دهد. اگر هر یک از تکالیف سعی در اختصاص یک
مقدار یک متغیر فقط خواندنی، یک خطا رخ می دهد و دستور با یک غیر صفر خارج می شود
وضعیت.

اگر نام دستوری به دست نیامد، تغییر مسیرها انجام می شود، اما بر جریان تأثیر نمی گذارد
محیط پوسته خطای تغییر مسیر باعث می شود دستور با وضعیت غیر صفر خارج شود.

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

COMMAND اعدام


بعد از اینکه یک دستور به کلمات تقسیم شد، اگر به یک دستور ساده و یک نتیجه منجر شود
لیست اختیاری آرگومان ها، اقدامات زیر انجام می شود.

اگر نام فرمان فاقد اسلش باشد، پوسته سعی می کند آن را پیدا کند. اگر وجود دارد
یک تابع پوسته با آن نام، آن تابع همانطور که در بالا توضیح داده شد فراخوانی می شود توابع.
اگر نام با یک تابع مطابقت نداشته باشد، پوسته آن را در لیست پوسته جستجو می کند
ساخته شده اگر مطابقت پیدا شود، آن داخلی فراخوانی می شود.

اگر نام نه تابع پوسته باشد و نه یک توکار، و فاقد اسلش باشد، بر هم زدن
هر عنصر را جستجو می کند PATH برای دایرکتوری حاوی یک فایل اجرایی توسط آن
نام. بر هم زدن از جدول هش برای به خاطر سپردن نام مسیرهای کامل فایل های اجرایی استفاده می کند (نگاه کنید به مخلوط
زیر پوسته ساخته شده دستورات زیر). جستجوی کامل دایرکتوری ها در PATH is
فقط در صورتی انجام می شود که دستور در جدول هش یافت نشود. اگر جستجو باشد
در صورت ناموفق، پوسته یک تابع پوسته تعریف شده به نام را جستجو می کند
command_not_found_handle. اگر آن تابع وجود داشته باشد، با نسخه اصلی فراخوانی می شود
فرمان و آرگومان های فرمان اصلی به عنوان آرگومان های آن و خروجی تابع
وضعیت به وضعیت خروج پوسته تبدیل می شود. اگر آن تابع تعریف نشده باشد، پوسته
یک پیام خطا چاپ می کند و وضعیت خروج 127 را برمی گرداند.

اگر جستجو موفقیت آمیز باشد، یا اگر نام فرمان حاوی یک یا چند اسلش باشد،
پوسته برنامه نامگذاری شده را در یک محیط اجرایی جداگانه اجرا می کند. آرگومان 0 تنظیم شده است
به نام داده شده، و آرگومان های باقی مانده برای فرمان روی آرگومان ها تنظیم می شوند
داده شده، در صورت وجود.

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

اگر برنامه یک فایل است که با #!، باقی مانده خط اول یک را مشخص می کند
مترجم برای برنامه پوسته مفسر مشخص شده را هنگام کار اجرا می کند
سیستم هایی که خودشان این قالب اجرایی را مدیریت نمی کنند. استدلال به
مفسر متشکل از یک آرگومان اختیاری منفرد است که به دنبال نام مفسر روی
خط اول برنامه و به دنبال آن نام برنامه و به دنبال آن دستور
استدلال، در صورت وجود.

COMMAND اعدام محیط زیست


پوسته دارای یک اعدام محیط، که شامل موارد زیر است:

باز کردن فایل های به ارث رسیده توسط پوسته در هنگام فراخوانی، همانطور که توسط تغییر مسیرها اصلاح شده است
عرضه شده به exec خانه

· دایرکتوری کاری فعلی همانطور که توسط cd, pushd، یا پاپ، یا به ارث رسیده است
پوسته در فراخوانی

· ماسک حالت ایجاد فایل همانطور که توسط umask یا از والدین پوسته به ارث رسیده است

· تله های فعلی تنظیم شده توسط دام

· پارامترهای پوسته که با انتساب متغیر یا با تنظیم می شوند تنظیم یا به ارث رسیده است
والد پوسته در محیط

· توابع پوسته تعریف شده در طول اجرا یا به ارث رسیده از والد پوسته در
محیط زیست

· گزینه های فعال در فراخوانی (به صورت پیش فرض یا با آرگومان های خط فرمان) یا
by تنظیم

· گزینه های فعال شده توسط خرید

· نام مستعار پوسته تعریف شده با نام مستعار

· شناسه های مختلف فرآیند، از جمله موارد مربوط به کارهای پس زمینه، ارزش $$، و
ارزش PPID

زمانی که قرار است یک دستور ساده غیر از یک تابع داخلی یا پوسته اجرا شود، اینطور است
در یک محیط اجرایی جداگانه که شامل موارد زیر است فراخوانی می شود. مگر اینکه
در غیر این صورت، مقادیر از پوسته به ارث برده می شوند.

· فایل‌های باز پوسته، به‌علاوه هرگونه تغییر و اضافات مشخص شده توسط
تغییر مسیرها به دستور

· فهرست کار فعلی

· ماسک حالت ایجاد فایل

· متغیرهای پوسته و توابع مشخص شده برای صادرات، همراه با متغیرهای صادر شده برای
فرمان، در محیط منتقل می شود

تله های گرفتار شده توسط پوسته به مقادیر به ارث رسیده از پوسته بازنشانی می شوند
پدر و مادر، و تله نادیده گرفته شده توسط پوسته نادیده گرفته می شود

دستوری که در این محیط مجزا فراخوانی می شود نمی تواند بر اجرای پوسته تأثیر بگذارد
محیط زیست است.

جایگزینی دستورات، دستورات گروه بندی شده با پرانتز و دستورات ناهمزمان هستند
در یک محیط زیر پوسته که تکراری از محیط پوسته است فراخوانی می شود، به جز
تله‌های گرفتار شده توسط پوسته به مقادیری که پوسته از خود به ارث برده است، بازنشانی می‌شوند
والد در فراخوان دستورات داخلی که به عنوان بخشی از خط لوله فراخوانی می شوند نیز هستند
در محیط زیر پوسته اجرا می شود. تغییرات ایجاد شده در محیط زیر پوسته نمی تواند
محیط اجرای پوسته را تحت تأثیر قرار می دهد.

پوسته‌های فرعی که برای اجرای تعویض‌های دستور ایجاد می‌شوند، مقدار the را به ارث می‌برند -e گزینه از
پوسته والد وقتی داخل نیست پوزيكس حالت ، بر هم زدن را پاک می کند -e گزینه در چنین زیر پوسته ها.

اگر دستوری با a دنبال شود & و کنترل کار فعال نیست، ورودی استاندارد پیش فرض است
زیرا دستور فایل خالی است / dev / null. در غیر این صورت، فرمان فراخوانی شده را به ارث می برد
توصیف کننده های فایل پوسته فراخوانی که توسط تغییر مسیرها اصلاح شده است.

محیط زیست


هنگامی که یک برنامه فراخوانی می شود، آرایه ای از رشته ها به آن داده می شود محیط. این هست
یک لیست از نام-ارزش جفت، از فرم نام=ارزش.

پوسته راه های مختلفی برای دستکاری محیط ارائه می دهد. در فراخوانی، پوسته
محیط خود را اسکن می کند و برای هر نام یافت شده به صورت خودکار یک پارامتر ایجاد می کند
علامت گذاری آن برای صادرات به فرآیندهای کودک دستورات اجرا شده محیط را به ارث می برند. در
صادرات و اعلام -x دستورات اجازه می دهد تا پارامترها و توابع اضافه و حذف شوند
از محیط زیست اگر مقدار یک پارامتر در محیط اصلاح شود، مقدار جدید
ارزش بخشی از محیط می شود و جایگزین ارزش قدیمی می شود. محیطی که به ارث رسیده است
هر دستور اجرا شده از محیط اولیه پوسته تشکیل شده است که مقادیر آن ممکن است باشد
تغییر در پوسته، کمتر از جفت حذف شده توسط تنظیم نشده فرمان، به علاوه هرگونه اضافات از طریق
la صادرات و اعلام -x دستورات

محیط برای هر ساده فرمان یا عملکرد ممکن است به طور موقت توسط
پیشوند آن با تخصیص پارامترها، همانطور که در بالا توضیح داده شد پارامترهایاست. اینها
عبارات انتساب فقط بر محیطی که توسط آن فرمان دیده می شود تأثیر می گذارد.

اگر -k گزینه تنظیم شده است (به تنظیم دستور builin در زیر)، سپس تمام پارامتر
تکالیف برای یک فرمان در محیط قرار می گیرند، نه فقط آنهایی که قبل از دستور هستند
نام فرمان

چه زمانی بر هم زدن یک فرمان خارجی، متغیر را فراخوانی می کند _ به نام کامل فایل تنظیم شده است
فرمان و به آن فرمان در محیط خود منتقل می شود.

خروج وضعیت


وضعیت خروج یک فرمان اجرا شده، مقداری است که توسط منتظر تماس سیستمی یا
تابع معادل وضعیت خروج بین 0 تا 255 قرار دارد، اما همانطور که در زیر توضیح داده شده است.
پوسته ممکن است به طور خاص از مقادیر بالای 125 استفاده کند. خروج از وضعیت ها از ساختارهای پوسته و
دستورات ترکیبی نیز به این محدوده محدود می شوند. تحت شرایط خاص، پوسته
از مقادیر ویژه برای نشان دادن حالت های خاص خرابی استفاده می کند.

برای اهداف پوسته، دستوری که با وضعیت خروج صفر خارج می‌شود، موفق شد. یک
وضعیت خروج صفر نشان دهنده موفقیت است. وضعیت خروج غیر صفر نشان دهنده خرابی است. وقتی یک
فرمان در یک سیگنال کشنده خاتمه می یابد N, بر هم زدن از مقدار 128+ استفاده می کندN به عنوان وضعیت خروج

اگر دستوری پیدا نشد، پردازش فرزند ایجاد شده برای اجرای آن وضعیتی را برمی‌گرداند
127. اگر دستوری پیدا شود اما قابل اجرا نباشد، وضعیت بازگشتی 126 است.

اگر دستوری به دلیل خطا در حین گسترش یا تغییر مسیر ناموفق باشد، وضعیت خروج است
بزرگتر از صفر

دستورات داخلی شل وضعیت 0 (درست) در صورت موفقیت آمیز بودن و غیر صفر (غلط) اگر
هنگام اجرای آنها خطایی رخ می دهد. همه بیلدین ها برای نشان دادن وضعیت خروج 2 را برمی گردانند
استفاده نادرست

بر هم زدن خود وضعیت خروج آخرین فرمان اجرا شده را برمی گرداند، مگر اینکه یک خطای نحوی وجود داشته باشد
رخ می دهد که در این صورت با مقدار غیر صفر خارج می شود. را نیز ببینید خروج دستور داخلی
زیر کلیک کنید.

علائم


چه زمانی بر هم زدن تعاملی است، در صورت عدم وجود تله، نادیده می گیرد مدت هدف (به طوری که کشتن 0
پوسته تعاملی را نمی کشد)، و ثبت نام گرفتار و رسیدگی می شود (به طوری که صبر کنيد
داخلی قابل قطع است). در تمام موارد، بر هم زدن نادیده گرفته می شود امضا کنید. اگر کنترل شغلی باشد
اثر بر هم زدن نادیده گرفته می شود SIGTTIN, SIGTTOUو SIGTSTP.

دستورات غیر ساخته شده توسط بر هم زدن کنترل‌کننده‌های سیگنال را روی مقادیر به ارث برده شده تنظیم کنید
پوسته از والدینش. هنگامی که کنترل کار در کار نیست، دستورات ناهمزمان نادیده گرفته می شوند
ثبت نام و امضا کنید علاوه بر این گردانندگان ارثی. دستورات در نتیجه اجرا می شوند
جایگزینی فرمان سیگنال های کنترل کار تولید شده توسط صفحه کلید را نادیده می گیرد SIGTTIN, SIGTTOU,
و SIGTSTP.

پوسته به صورت پیش‌فرض با دریافت a خارج می‌شود چشم انداز. قبل از خروج، یک پوسته تعاملی
را مجددا ارسال می کند چشم انداز به همه مشاغل، در حال اجرا یا متوقف شده است. مشاغل متوقف شده ارسال می شوند NEXTCONT به
اطمینان حاصل کنند که آنها را دریافت می کنند چشم انداز. برای جلوگیری از ارسال سیگنال توسط پوسته به a
یک کار خاص، باید از جدول jobs حذف شود طرد کردن ساخته شده (نگاه کنید به
پوسته ساخته شده دستورات در زیر) یا علامت گذاری شده برای دریافت نشدن چشم انداز با استفاده از طرد کردن -h.

اگر huponexit گزینه پوسته با تنظیم شده است خرید, بر هم زدن ارسال می کند چشم انداز به همه مشاغل
هنگامی که یک پوسته ورود تعاملی خارج می شود.

If بر هم زدن منتظر تکمیل فرمان است و سیگنالی را دریافت می کند که یک تله برای آن وجود دارد
تنظیم شده است، تله تا زمانی که دستور کامل نشود اجرا نخواهد شد. چه زمانی بر هم زدن منتظر است
برای یک فرمان ناهمزمان از طریق صبر کنيد داخلی، دریافت سیگنالی که برای آن a
تله گذاشته شده است باعث می شود صبر کنيد ساخته شده است تا بلافاصله با وضعیت خروج بازگردد
بزرگتر از 128، بلافاصله پس از آن تله اجرا می شود.

شغل کنترل


کار کنترل به توانایی توقف انتخابی اشاره دارد (تعلیق) اجرای فرآیندها
و ادامه دهید (ادامه) اجرای آنها در مرحله بعد. یک کاربر معمولاً از این استفاده می کند
تسهیلات از طریق یک رابط تعاملی که به طور مشترک توسط هسته سیستم عامل ارائه می شود
درایور ترمینال و بر هم زدن.

پوسته همکاران الف کار با هر خط لوله جدولی از در حال اجرا نگه می دارد
مشاغل، که ممکن است با شغل ها فرمان چه زمانی بر هم زدن یک کار را به صورت ناهمزمان شروع می کند
(در زمینه، خطی را چاپ می کند که به شکل زیر است:

1

نشان می دهد که این شغل شماره 1 است و شناسه فرآیند آخرین فرآیند در
خط لوله مرتبط با این کار 25647 است. همه فرآیندها در یک خط لوله واحد
اعضای یک شغل هستند بر هم زدن با استفاده از کار انتزاع به عنوان مبنایی برای کنترل شغل.

برای تسهیل اجرای رابط کاربری برای کنترل کار، عملیات
سیستم مفهوم a را حفظ می کند جاری پایانه روند گروه ID. اعضای این
گروه فرآیند (فرآیندهایی که شناسه گروه پردازش آنها برابر با فرآیند ترمینال فعلی است
شناسه گروه) سیگنال های تولید شده توسط صفحه کلید مانند ثبت نام. به این فرآیندها گفته می شود
در باشد منظره جلو عکس. زمینه فرآیندهایی هستند که شناسه گروه فرآیند با آنها متفاوت است
ترمینال؛ چنین فرآیندهایی در برابر سیگنال های تولید شده توسط صفحه کلید مصون هستند. فقط پیش زمینه
فرآیندها مجاز به خواندن از یا، در صورتی که کاربر با stty tostop مشخص کرده است، در آن بنویسد
پایانه. فرآیندهای پس‌زمینه که سعی می‌کنند از (نوشتن تا زمانی که stty tostop) بخوانند
در حال اجرا است) ترمینال ارسال می شود SIGTTIN (SIGTTOU) سیگنال توسط ترمینال هسته
راننده، که، مگر اینکه دستگیر شود، روند را به حالت تعلیق در می آورد.

اگر سیستم عاملی که بر روی آن بر هم زدن در حال اجرا است از کنترل کار پشتیبانی می کند، بر هم زدن شامل
امکانات برای استفاده از آن تایپ کردن تعلیق شخصیت (معمولا ^Z، کنترل-Z) در حالی که الف
در حال اجرا بودن فرآیند باعث می شود که آن فرآیند متوقف شود و کنترل را به آن برگرداند بر هم زدن. تایپ کردن
la به تاخیر افتاده تعلیق شخصیت (معمولا ^Y، Control-Y) باعث توقف فرآیند می شود
هنگامی که سعی می کند ورودی را از ترمینال بخواند و کنترل را به آن برگرداند بر هم زدن.
سپس کاربر ممکن است با استفاده از حالت این کار را دستکاری کند bg دستور ادامه آن را در
پس زمینه، fg دستور ادامه آن در پیش زمینه یا کشتن دستور کشتن
آی تی. آ ^Z فوراً اثر می‌گذارد و عوارض جانبی اضافی ایجاد معلق دارد
خروجی و تایپ دور انداخته شود.

روش های مختلفی برای اشاره به یک کار در پوسته وجود دارد. شخصیت % معرفی a
مشخصات شغلی (ویژگی شغلی). شماره شغل n ممکن است به عنوان %n. یک شغل نیز ممکن است باشد
به استفاده از پیشوند نامی که برای شروع آن استفاده می شود یا استفاده از یک رشته فرعی که ظاهر می شود اشاره دارد
در خط فرمان خود مثلا، % ce به توقف اشاره دارد ce کار. اگر یک پیشوند مطابقت دارد
بیش از یک شغل، بر هم زدن یک خطا گزارش می دهد استفاده كردن %?ceاز سوی دیگر، به هر اطلاق می شود
کار حاوی رشته ce در خط فرمان خود اگر رشته فرعی با بیش از یک مطابقت داشته باشد
کار، بر هم زدن یک خطا گزارش می دهد نمادها %% و %+ رجوع به مفهوم پوسته شود
جاری کار، که آخرین کاری است که در زمانی که در پیش زمینه بود یا شروع شده بود متوقف شد
پس زمینه. در قبلی کار ممکن است با استفاده از %-. اگر فقط یک واحد وجود داشته باشد
کار، %+ و %- می توان از هر دو برای اشاره به آن شغل استفاده کرد. در خروجی مربوط به مشاغل (به عنوان مثال،
خروجی از شغل ها فرمان)، کار فعلی همیشه با علامت علامت گذاری می شود +، و
کار قبلی با a -. یک درصد واحد (بدون مشخصات شغلی همراه) نیز به آن اشاره دارد
شغل فعلی

به سادگی از نامگذاری یک کار می توان برای پیش زمینه آوردن آن استفاده کرد: %1 مترادف با است fg
% 1''، کار 1 را از پس زمینه به پیش زمینه می آورد. به همین ترتیب، ``% 1 &'' رزومه
شغل 1 در پس زمینه، معادل `bg % 1''.

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

اگر تلاش برای خروج بر هم زدن در حالی که کارها متوقف شده اند (یا اگر چک مشاغل صدف
با استفاده از گزینه فعال شده است خرید ساخته شده، در حال اجرا)، پوسته یک هشدار چاپ می کند
پیام، و اگر چک مشاغل گزینه فعال است، مشاغل و وضعیت آنها را لیست می کند. در
شغل ها سپس ممکن است از دستور برای بررسی وضعیت آنها استفاده شود. اگر تلاش دوم برای خروج باشد
بدون دستور مداخله ای، پوسته اخطار دیگری را چاپ نمی کند
مشاغل متوقف شده خاتمه می یابد.

تحریک کردن


هنگام اجرای تعاملی، بر هم زدن اعلان اولیه را نمایش می دهد PS1 زمانی که آماده است
یک دستور و فرمان ثانویه را بخوانید PS2 زمانی که برای تکمیل a به ورودی بیشتری نیاز دارد
فرمان بر هم زدن اجازه می دهد تا این رشته های سریع با درج تعدادی از سفارشی سازی شوند
کاراکترهای ویژه بک اسلش که به صورت زیر رمزگشایی می شوند:
\a یک کاراکتر زنگ ASCII (07)
\d تاریخ در قالب "تاریخ ماه روز هفته" (به عنوان مثال، "سه شنبه 26 مه")
\D{قالب}
la قالب منتقل می شود به زمان صرف وقت(3) و نتیجه در درج می شود
رشته سریع؛ یک خالی قالب منجر به یک زمان خاص محلی می شود
نمایندگی. بریس ها لازم است
\e یک کاراکتر فرار ASCII (033)
\h نام میزبان تا اولین `.
\H نام میزبان
\j تعداد مشاغلی که در حال حاضر توسط پوسته مدیریت می شود
\l نام پایه نام دستگاه ترمینال پوسته
\n خط جدید
\r برگشت محموله
\s نام پوسته، نام اصلی $0 (بخش بعد از فینال
بریده بریده)
\t زمان فعلی در قالب 24 ساعته HH:MM:SS
\T زمان فعلی در قالب 12 ساعته HH:MM:SS
\@ زمان فعلی در قالب 12 ساعت صبح / بعد از ظهر
\A زمان فعلی در قالب 24 ساعته HH:MM
\u نام کاربری کاربر فعلی
\v نسخه از بر هم زدن (به عنوان مثال، 2.00)
\V آزاد شدن بر هم زدن، نسخه + سطح وصله (به عنوان مثال، 2.00.0)
\w فهرست کار فعلی، با $ HOME به اختصار با یک tilde (از. استفاده می کند
ارزش PROMPT_DIRTRIM متغیر)
\W نام پایه دایرکتوری کاری فعلی، با $ HOME به اختصار a
مدک
\! شماره تاریخچه این دستور
\# شماره فرمان این دستور
\$ اگر UID موثر 0 باشد، a #، در غیر این صورت الف $
\nnn کاراکتر مربوط به عدد هشت nnn
\\ یک خط معکوس
\[ دنباله ای از کاراکترهای غیرچاپی را شروع کنید که می توان از آنها برای جاسازی یک استفاده کرد
دنباله کنترل ترمینال در اعلان
\] به دنباله ای از کاراکترهای غیرچاپی پایان دهید

شماره فرمان و شماره تاریخچه معمولاً متفاوت است: شماره تاریخچه a
فرمان موقعیت آن در لیست تاریخچه است که ممکن است شامل دستورات بازیابی شده از آن باشد
فایل تاریخچه (نگاه کنید به تاریخچه در زیر)، در حالی که شماره فرمان موقعیت در دنباله است
از دستورات اجرا شده در جلسه پوسته فعلی. پس از رمزگشایی رشته، آن است
از طریق بسط پارامتر، جایگزینی دستور، بسط حسابی و نقل قول گسترش می یابد
حذف، منوط به ارزش promptvars گزینه پوسته (توضیحات را ببینید
خرید دستور زیر پوسته ساخته شده دستورات در زیر).

READLINE


این کتابخانه ای است که ورودی خواندن را هنگام استفاده از یک پوسته تعاملی مدیریت می کند، مگر اینکه این
-- بدون ویرایش گزینه در فراخوانی پوسته داده شده است. هنگام استفاده از ویرایش خط نیز استفاده می شود
-e گزینه به خواندن ساخته شده به طور پیش فرض، دستورات ویرایش خط مشابه آن ها هستند
از Emacs رابط ویرایش خط به سبک vi نیز موجود است. ویرایش خط می تواند باشد
فعال در هر زمان با استفاده از -o ایمکس or -o vi گزینه های به تنظیم ساخته شده (نگاه کنید به پوسته
ساخته شده دستورات زیر). برای خاموش کردن ویرایش خط پس از اجرای پوسته، از +o
ایمکس or +o vi گزینه های به تنظیم ساخته شده

خط خواندنی نشانه گذاری
در این بخش، نماد Emacs-style برای نشان دادن ضربه زدن به کلید استفاده می شود. کلیدهای کنترل هستند
نشان داده شده با C-کلیدبه عنوان مثال، Cn به معنای Control-N است. به همین ترتیب، متا کلیدها با M نشان داده می شوندکلید,
بنابراین Mx به معنای متا ایکس است. (در کیبوردهای بدون الف متا کلید، M-x به معنی ESC است xرا فشار دهید
کلید فرار و سپس x کلید این باعث می شود ESC متا پیشوند. ترکیب MC-x به معنی
ESC-Control-x، یا کلید Escape را فشار دهید سپس کلید Control را در حین فشار دادن نگه دارید x
کلید.)

دستورات Readline ممکن است عددی داده شوند استدلال، که معمولاً به عنوان یک شمارش تکرار عمل می کنند.
با این حال، گاهی اوقات این نشانه استدلال است که قابل توجه است. عبور از a
آرگومان منفی به دستوری که در جهت رو به جلو عمل می کند (مثلا خط کشتن) باعث می شود
دستور عمل در جهت معکوس. دستوراتی که رفتارشان با استدلال
انحراف از این در زیر ذکر شده است.

هنگامی که یک فرمان به عنوان توصیف می شود کشتن متن، متن حذف شده برای آینده احتمالی ذخیره می شود
بازیابی (تندی). متن کشته شده در یک ذخیره می شود کشتن حلقه. کشتن متوالی باعث می شود
متنی که باید در یک واحد انباشته شود، که می‌توان آن را به یکباره جمع کرد. دستوراتی که
متن را نکشید تکه های متن را روی حلقه کشتن جدا کنید.

خط خواندنی دهی اولیه
Readline با قرار دادن دستورات در یک فایل اولیه سفارشی می شود (the inputrc فایل).
نام این فایل از مقدار the گرفته شده است INPUTRC متغیر. اگر آن متغیر
تنظیم نشده است، پیش فرض است ~ / .inputrc. وقتی برنامه ای که از کتابخانه Readline استفاده می کند
راه اندازی می شود، فایل مقداردهی اولیه خوانده می شود و اتصالات کلیدی و متغیرها تنظیم می شوند.
تنها چند ساختار اساسی در فایل اولیه Readline مجاز است. جای خالی
خطوط نادیده گرفته می شوند خطوطی که با a شروع می شوند # نظرات هستند. خطوطی که با a شروع می شوند $
ساختارهای شرطی را نشان می دهد. خطوط دیگر نشان دهنده اتصالات کلید و تنظیمات متغیر است.

کلیدهای پیش‌فرض ممکن است با یک تغییر کنند inputrc فایل. سایر برنامه هایی که استفاده می کنند
این کتابخانه ممکن است دستورات و اتصالات خود را اضافه کند.

مثلا قرار دادن

M-Control-u: جهانی-استدلال
or
C-Meta-u: جهانی-برهان
به inputrc باعث می شود MCu دستور readline را اجرا کند استدلال جهانی.

نام شخصیت های نمادین زیر شناسایی می شود: RUBOUT, DEL, ESC, LFD, خط جدید,
RET, برگشت, SPC, فضاو TAB.

علاوه بر نام دستورات، Readline به کلیدها اجازه می دهد تا به رشته ای متصل شوند
با فشار دادن کلید (الف درشت دستور).

خط خواندنی کلید اتصالات
نحو برای کنترل اتصالات کلید در inputrc فایل ساده است همه آن چیزی که هست
مورد نیاز نام دستور یا متن یک ماکرو و دنباله کلیدی است که به آن دستور داده می شود
باید مقید شود. نام ممکن است به یکی از دو روش مشخص شود: به عنوان یک نام کلید نمادین،
احتمالاً با متا or کنترل- پیشوندها یا به عنوان یک دنباله کلیدی.

هنگام استفاده از فرم نام کلید:نام تابع or درشت دستور, نام کلید نام یک کلید است
خارج به انگلیسی مثلا:

Control-u: جهانی-استدلال
Meta-Rubout: Backward-kill-word
Control-o: "> خروجی"

در مثال بالا ، مس به تابع مقید است استدلال جهانی, M-DEL مقید است
تابع عقب مانده-کشتن-کلمهو شرکت ملزم به اجرای ماکرو بیان شده در سمت راست است
سمت دست (یعنی برای درج متن "`> خروجی" در خط).

در شکل دوم، "keyseq":نام تابع or درشت دستور, keyseq متفاوت از نام کلید بالا در
رشته هایی که کل یک دنباله کلید را نشان می دهند ممکن است با قرار دادن دنباله مشخص شوند
در دو نقل قول برخی از کلیدهای فرار از سبک Emacs گنو می توانند مانند موارد زیر استفاده شوند
به عنوان مثال، اما نام شخصیت های نمادین شناسایی نمی شود.

«\Cu»: جهانی-برهان
"\Cx\Cr": دوباره خواندن-init-فایل
"\e[11~": "کلید تابع 1"

در این مثال ، مس دوباره به تابع مقید است استدلال جهانی. Cx Cr محدود است
به تابع بازخوانی-init-فایلو ESC [ 1 1 ~ ملزم به درج متن "عملکرد" ​​است
کلید 1''.

مجموعه کامل توالی های فرار به سبک گنو Emacs است
\C- پیشوند کنترل
\M- پیشوند متا
\e یک شخصیت فراری
\\ پشت سر هم
\" تحت اللفظی "
\' تحت اللفظی "

علاوه بر توالی های فرار به سبک گنو Emacs، مجموعه دوم فرارهای بک اسلش نیز وجود دارد.
در دسترس:
\a هشدار (زنگ)
\b پشت سر هم
\d حذف کردن
\f خوراک فرم
\n خط جدید
\r برگشت محموله
\t زبانه افقی
\v زبانه عمودی
\nnn کاراکتر هشت بیتی که مقدار آن مقدار هشت بیتی است nnn (یک تا سه
ارقام)
\xHH کاراکتر هشت بیتی که مقدار آن مقدار هگزادسیمال است HH (یک یا دو
ارقام شش گوش)

هنگام وارد کردن متن یک ماکرو، باید از گیومه های تک یا دوگانه برای نشان دادن a استفاده شود
تعریف کلان متن نقل قول نشده به عنوان یک نام تابع فرض می شود. در بدنه کلان،
فرارهای بک اسلش که در بالا توضیح داده شد گسترش یافته اند. بک اسلش هر شخصیت دیگری را نقل قول می کند
در متن کلان، از جمله " و ".

بر هم زدن اجازه می دهد تا اتصالات کلید Readline فعلی با استفاده از آن نمایش داده یا اصلاح شوند اتصال
دستور داخلی حالت ویرایش ممکن است در حین استفاده تعاملی با استفاده از دکمه تغییر کند -o
گزینه به تنظیم دستور داخلی (نگاه کنید به پوسته ساخته شده دستورات در زیر).

خط خواندنی متغیر
Readline دارای متغیرهایی است که می توان از آنها برای سفارشی کردن بیشتر رفتار آن استفاده کرد. یک متغیر ممکن است
در تنظیم شود inputrc فایل با بیانیه فرم

تنظیم متغیر-نام ارزش

به جز موارد ذکر شده، متغیرهای Readline می توانند مقادیر را دریافت کنند On or خاموش (بدون در نظر گرفتن
مورد). نام متغیرهای ناشناخته نادیده گرفته می شود. هنگامی که یک مقدار متغیر خوانده می شود، خالی یا
مقادیر تهی، «روشن» (بدون حساسیت)، و «1» معادل هستند On. همه مقادیر دیگر هستند
معادل خاموش. متغیرها و مقادیر پیش فرض آنها عبارتند از:

به سبک زنگ (قابل شنیدن)
وقتی Readline می‌خواهد زنگ پایانه را به صدا درآورد، کنترل می‌کند. اگر تنظیم شود
هیچ، ریدلاین هرگز زنگ را به صدا در نمی آورد. اگر تنظیم شود قابل رویت، Readline از یک قابل مشاهده استفاده می کند
زنگ اگر موجود باشد اگر تنظیم شود قابل شنیدن، Readline تلاش می کند تا زنگ را بزند
زنگ ترمینال
bind-tty-special-chars (بر)
در صورت تنظیم On، Readline تلاش می کند تا نویسه های کنترلی را که به طور ویژه توسط آنها درمان شده اند پیوند دهد
درایور ترمینال هسته به معادل های خط خواندن آنها.
آمار رنگی (خاموش)
در صورت تنظیم On، Readline تکمیل های ممکن را با استفاده از رنگ های مختلف نمایش می دهد
نوع فایل آنها را مشخص کنید. تعاریف رنگ از مقدار the گرفته شده است
LS_COLORS متغیر محیطی.
نظر - شروع (``#'')
رشته ای که در زمان خواندن درج می شود درج-نظر فرمان اجرا می شود.
این دستور ملزم به M-# در حالت emacs و به # در حالت فرمان vi.
تکمیل-نادیده گرفتن-مورد (خاموش)
در صورت تنظیم On، readline تطبیق و تکمیل نام فایل را در a انجام می دهد
مد غیر حساس به حروف بزرگ و کوچک
تکمیل-پیشوند-نمایش-طول (0)
طول در کاراکترهای پیشوند مشترک لیست تکمیل‌های ممکن
که بدون تغییر نمایش داده می شود. وقتی روی مقداری بزرگتر از صفر تنظیم شود،
پیشوندهای رایج طولانی تر از این مقدار با یک بیضی جایگزین می شوند
نمایش تکمیل های احتمالی
تکمیل-پرس و جو-اقلام (100)
این مشخص می کند که چه زمانی از کاربر در مورد مشاهده تعداد احتمالی سؤال می شود
تکمیل های تولید شده توسط امکان تکمیل فرمان ممکن است روی هر کدام تنظیم شود
مقدار صحیح بزرگتر یا مساوی صفر. اگر تعداد تکمیل های ممکن است
بزرگتر یا مساوی مقدار این متغیر است، از کاربر پرسیده می شود که آیا
یا نمی خواهد آنها را ببیند. در غیر این صورت آنها به سادگی در ترمینال فهرست شده اند.
تبدیل-متا (بر)
در صورت تنظیم On، Readline کاراکترهایی را با بیت هشتم به ASCII تبدیل می کند
دنباله کلید با حذف بیت هشتم و پیشوند یک کاراکتر فرار (in
اثر، با استفاده از فرار به عنوان متا پیشوند).
غیرفعال کردن تکمیل (خاموش)
در صورت تنظیم On، Readline از تکمیل کلمه جلوگیری می کند. شخصیت های تکمیل خواهد بود
طوری در خط درج می شود که انگار به آن نگاشت شده اند خود درج.
حالت ویرایش (Emacs)
کنترل می کند که آیا خط خواندن با مجموعه ای از اتصالات کلیدی مشابه شروع می شود یا خیر Emacs or vi.
حالت ویرایش را می توان روی هر کدام تنظیم کرد ایمکس or vi.
کاراکترهای کنترل اکو (بر)
وقتی روی On، در سیستم عامل هایی که نشان می دهند از آن پشتیبانی می کنند، خط خواندن بازتاب می یابد
یک کاراکتر مربوط به سیگنال تولید شده از صفحه کلید.
فعال کردن صفحه کلید (خاموش)
وقتی روی On، Readline سعی می کند صفحه کلید برنامه را در زمانی که فعال باشد فعال کند
تماس گرفت. برخی از سیستم ها برای فعال کردن کلیدهای جهت دار به این نیاز دارند.
enable-meta-key (بر)
وقتی روی On، Readline سعی می کند هر کلید متا اصلاح کننده را در ترمینال فعال کند
ادعا می کند که در هنگام فراخوانی از آن پشتیبانی می کند. در بسیاری از پایانه ها از کلید متا استفاده می شود
ارسال کاراکترهای هشت بیتی
بسط-شیر (خاموش)
در صورت تنظیم On، گسترش تایلد زمانی انجام می شود که خط خواندن سعی می کند کلمه را تکمیل کند.
تاریخ-نقطه-حفظ (خاموش)
در صورت تنظیم On، کد تاریخچه سعی می کند نقطه را در یک مکان در هر یک قرار دهد
خط تاریخ بازیابی شده با سابقه قبلی or تاریخچه بعدی.
اندازه تاریخ (0)
حداکثر تعداد ورودی های تاریخچه ذخیره شده در لیست تاریخچه را تنظیم کنید. اگر تنظیم شود
صفر، هر ورودی سابقه موجود حذف می شود و هیچ ورودی جدیدی ذخیره نمی شود. اگر
مقدار کمتر از صفر را تنظیم کنید، تعداد ورودی های تاریخ محدود نیست. توسط
به طور پیش فرض، تعداد ورودی های تاریخ محدود نیست.
حالت اسکرول افقی (خاموش)
وقتی روی On، باعث می شود خط خواندن از یک خط برای نمایش استفاده کند و ورودی را پیمایش کند
به صورت افقی روی یک خط صفحه زمانی که از عرض صفحه بیشتر شود
به جای پیچیدن به یک خط جدید.
ورودی-متا (خاموش)
در صورت تنظیم On، readline ورودی هشت بیتی را فعال می کند (یعنی آن را حذف نمی کند
مقدار زیادی از کاراکترهایی که می خواند)، صرف نظر از اینکه ترمینال آن را ادعا می کند
می تواند حمایت کند. نام متا پرچم مترادف این متغیر است.
isearch-terminators ("C-[C-J")
رشته کاراکترهایی که باید جستجوی افزایشی را بدون آن خاتمه دهند
سپس کاراکتر را به عنوان یک فرمان اجرا می کند. اگر این متغیر نبوده است
با توجه به یک ارزش، شخصیت ها ESC و CJ یک جستجوی افزایشی را خاتمه می دهد.
نقشه کلید (Emacs)
نقشه کلید خواندن فعلی را تنظیم کنید. مجموعه ای از نام های نقشه کلید معتبر است ایمکس،
emacs-standard، emacs-meta، emacs-ctlx، vi، vi-commandو vi-insert. vi is
معادل vi-command; ایمکس برابر است با emacs-استاندارد. مقدار پیش فرض
is ایمکس; ارزش حالت ویرایش بر روی نقشه کلید پیش فرض نیز تاثیر می گذارد.
keyseq-timeout (500)
مدت زمان را مشخص می کند خط خواندن هنگام خواندن یک کاراکتر مبهم منتظر شخصیتی می ماند
دنباله کلیدی (یکی که می تواند یک دنباله کلید کامل را با استفاده از ورودی خوانده شود
دور، یا می تواند ورودی اضافی برای تکمیل یک دنباله کلید طولانی تر دریافت کند). اگر ورودی وجود ندارد
در بازه زمانی دریافت می شود، خط خواندن از کلید کوتاهتر اما کامل استفاده خواهد کرد
توالی. مقدار بر حسب میلی ثانیه مشخص می شود، بنابراین مقدار 1000 به این معنی است
خط خواندن برای ورودی اضافی یک ثانیه صبر می کند. اگر این متغیر روی a تنظیم شود
مقدار کمتر یا مساوی صفر یا به یک مقدار غیر عددی، خط خواندن منتظر خواهد بود
تا زمانی که کلید دیگری فشار داده شود تا تصمیم بگیرید کدام دنباله کلید را تکمیل کنید.
نشان-دایرکتوری ها (بر)
در صورت تنظیم On، نام دایرکتوری تکمیل شده دارای یک اسلش اضافه شده است.
خطوط علامت گذاری شده اصلاح شده (خاموش)
در صورت تنظیم On، خطوط تاریخچه ای که اصلاح شده اند با علامت قبلی نمایش داده می شوند
ستاره (*).
دایرکتوری های علامت گذاری شده-symlinked (خاموش)
در صورت تنظیم On، نام های تکمیل شده که پیوندهای نمادین به دایرکتوری ها هستند دارای یک اسلش هستند
اضافه شده (با توجه به مقدار نشان-دایرکتوری ها).
match-hidden-files (بر)
این متغیر وقتی روی On، باعث می شود خط خواندن با فایل هایی که نام آنها شروع می شود مطابقت دهد
با یک «.» (فایل های مخفی) هنگام تکمیل نام فایل. اگر تنظیم شود خاموشاز
پیشرو `. باید توسط کاربر در نام فایل ارائه شود تا تکمیل شود.
منوی-کامل-نمایش-پیشوند (خاموش)
در صورت تنظیم On، تکمیل منو پیشوند مشترک لیست ممکن را نشان می دهد
تکمیل‌ها (که ممکن است خالی باشند) قبل از دوچرخه‌سواری در فهرست.
خروجی-متا (خاموش)
در صورت تنظیم On، readline کاراکترهایی را با بیت هشتم به طور مستقیم نمایش می دهد
به جای یک دنباله فرار با پیشوند متا.
تکمیل صفحات (بر)
در صورت تنظیم On، Readline از داخلی استفاده می کند بیشمانند پیجر برای نمایش صفحه نمایش
تکمیل های احتمالی در یک زمان
چاپ-تکمیل-به صورت افقی (خاموش)
در صورت تنظیم On، Readline تکمیل‌ها را با مواردی که به صورت افقی مرتب شده‌اند نمایش می‌دهد
به جای پایین صفحه نمایش، به ترتیب حروف الفبا.
revert-all-at-line (خاموش)
در صورت تنظیم On، readline همه تغییرات در خطوط تاریخچه را قبل از بازگشت به زمان لغو می کند
خط پذیرش اجرا می شود. به طور پیش فرض، خطوط تاریخ ممکن است اصلاح شده و حفظ شوند
لیست های واگرد فردی در سراسر تماس ها به خط خواندن.
نشان دادن-همه-اگر- مبهم (خاموش)
این رفتار پیش فرض توابع تکمیل را تغییر می دهد. اگر تنظیم شود On، کلمات
که دارای بیش از یک تکمیل احتمالی هستند باعث می شوند که مسابقات در لیست قرار گیرند
بلافاصله به جای زنگ زدن
نمایش همه-اگر اصلاح نشده (خاموش)
این رفتار پیش‌فرض توابع تکمیل را به روشی مشابه تغییر می‌دهد
به نشان دادن-همه-اگر- مبهمبه اگر روی تنظیم شود On، کلماتی که بیش از یک ممکن دارند
تکمیل بدون هیچ گونه تکمیل جزئی احتمالی (تکمیل های احتمالی انجام نمی شود
به اشتراک گذاشتن یک پیشوند مشترک) باعث می شود که موارد منطبق بلافاصله به جای فهرست شوند
زنگ زدن
حالت نمایش در اعلان (خاموش)
در صورت تنظیم On، یک کاراکتر به ابتدای دستور اضافه کنید که نشان دهنده ویرایش است
حالت: emacs (@)، دستور vi (:) یا درج vi (+).
متن پرش (خاموش)
در صورت تنظیم On، این رفتار تکمیل پیش فرض را هنگام درج یک تک تغییر می دهد
مطابقت با خط فقط زمانی فعال است که تکمیل در وسط انجام شود
یک کلمه. اگر فعال باشد، Readline کاراکترهایی را از تکمیل آن وارد نمی‌کند
کاراکترها را بعد از نقطه در کلمه در حال تکمیل شدن مطابقت دهید، بنابراین بخش هایی از کلمه
دنبال کردن مکان نما تکراری نیستند.
آمار قابل مشاهده (خاموش)
در صورت تنظیم On، یک کاراکتر نشان دهنده نوع یک فایل همانطور که توسط گزارش شده است آمار(2) ضمیمه شده است
به نام فایل هنگام فهرست کردن تکمیل‌های احتمالی.

خط خواندنی مشروط می سازد
Readline یک تسهیلات شبیه به ویژگی های کامپایل شرطی را پیاده سازی می کند
از پیش پردازنده C که اجازه می دهد اتصالات کلید و تنظیمات متغیر را به عنوان انجام شود
نتیجه آزمایشات چهار دستورالعمل تجزیه کننده استفاده می شود.

اگر $ La اگر $ ساختار اجازه می دهد تا اتصالات را بر اساس حالت ویرایش، the
ترمینال در حال استفاده، یا برنامه با استفاده از خط خواندن. متن آزمون
تا انتهای خط گسترش می یابد. هیچ شخصیتی برای جداسازی آن لازم نیست.

حالت La حالت= شکل اگر $ دستور العمل برای آزمایش اینکه آیا خط خواندن وارد است یا خیر استفاده می شود
حالت emacs یا vi. این ممکن است در ارتباط با استفاده شود تنظیم نقشه کلید
به عنوان مثال، دستور تنظیم اتصالات در emacs-استاندارد و emacs-ctlx
فقط در صورتی که Readline در حالت emacs شروع می شود، keymaps می کند.

مدت La مدت= فرم ممکن است برای شامل کردن اتصالات کلیدی خاص ترمینال استفاده شود،
شاید برای اتصال دنباله های کلید خروجی توسط کلیدهای عملکرد ترمینال.
کلمه در سمت راست = با نام کامل هر دو تست شده است
ترمینال و بخشی از نام ترمینال قبل از اولین -. این
اجازه می دهد تا آفتاب برای مطابقت با هر دو آفتاب و sun-cmd، به عنوان مثال.

استفاده
La استفاده ساختار برای گنجاندن تنظیمات خاص برنامه استفاده می شود.
هر برنامه با استفاده از کتابخانه Readline، را تنظیم می کند استفاده نام، و
فایل اولیه می تواند برای یک مقدار خاص آزمایش کند. این می تواند مورد استفاده قرار گیرد
دنباله های کلید را به توابع مفید برای یک برنامه خاص متصل کنید. برای
به عنوان مثال، دستور زیر یک دنباله کلیدی را اضافه می کند که جریان را نقل قول می کند
یا کلمه قبلی در بر هم زدن:

اگر $ بر هم زدن
# کلمه فعلی یا قبلی را نقل قول کنید
"\C-xq": "\eb\"\ef\""
$endif

$endif این دستور، همانطور که در مثال قبل مشاهده شد، به an خاتمه می دهد اگر $ فرمان

$ دیگر دستورات در این شاخه از اگر $ در صورت عدم موفقیت آزمون، دستورالعمل اجرا می شود.

$شامل
این دستورالعمل یک نام فایل را به عنوان آرگومان می گیرد و دستورات و را می خواند
اتصالات از آن فایل به عنوان مثال، دستورالعمل زیر به عنوان خوانده شده است
/etc/inputrc:

$شامل /etc/inputrc

جستجو
Readline دستوراتی را برای جستجو در تاریخچه فرمان ارائه می دهد (نگاه کنید به تاریخچه در زیر)
برای خطوط حاوی یک رشته مشخص. دو حالت جستجو وجود دارد: افزایشی و غیر
افزایشی.

جستجوهای افزایشی قبل از اینکه کاربر تایپ رشته جستجو را تمام کند آغاز می شود. همانطور که هر کدام
کاراکتر رشته جستجو تایپ می شود، Readline ورودی بعدی را از تاریخچه نمایش می دهد
مطابق با رشته ای که تاکنون تایپ شده است. جستجوی تدریجی فقط به تعداد کاراکتر نیاز دارد
در صورت نیاز برای یافتن مدخل تاریخچه مورد نظر. شخصیت های موجود در ارزش
isearch-terminators متغیر برای پایان دادن به جستجوی افزایشی استفاده می شود. اگر که
به متغیر مقداری اختصاص داده نشده است که کاراکترهای Escape و Control-J پایان خواهند یافت
جستجوی تدریجی Control-G یک جستجوی افزایشی را لغو می کند و آن را بازیابی می کند
خط اصلی هنگامی که جستجو پایان یافت، ورودی تاریخچه حاوی جستجو است
رشته تبدیل به خط فعلی می شود.

برای یافتن سایر ورودی های منطبق در لیست تاریخچه، Control-S یا Control-R را تایپ کنید
مناسب. این برای ورودی بعدی به عقب یا جلو در تاریخچه جستجو می کند
مطابق با رشته جستجوی تایپ شده تاکنون. هر دنباله کلید دیگری که به یک خط خواندن محدود شده است
دستور جستجو را خاتمه داده و آن فرمان را اجرا می کند. به عنوان مثال، الف خط جدید اراده
جستجو را خاتمه دهید و خط را بپذیرید، در نتیجه دستور را از تاریخچه اجرا کنید
فهرست

Readline آخرین رشته جستجوی افزایشی را به خاطر می آورد. اگر دو Control-R تایپ شود
بدون هیچ کاراکتر مداخله‌ای که یک رشته جستجوی جدید را تعریف می‌کند، هر جستجوی به یاد ماندنی
رشته استفاده می شود.

جستجوهای غیر افزایشی قبل از شروع جستجو، کل رشته جستجو را می خوانند
تطبیق خطوط تاریخ رشته جستجو ممکن است توسط کاربر تایپ شود یا بخشی از آن باشد
محتویات خط فعلی

خط خواندنی فرمان نام
در زیر لیستی از نام دستورات و دنباله کلیدهای پیش فرض به آمده است
که آنها مقید هستند. نام دستورات بدون دنباله کلید همراه با آن محدود نمی شود
پیش فرض در توضیحات زیر، نقطه اشاره به موقعیت مکان نما فعلی، و
علامت اشاره به موقعیت مکان نما ذخیره شده توسط علامت گذاری فرمان متن بین
نقطه و علامت به عنوان منطقه.

دستورات برای متحرک
ابتدای خط (Ca)
به ابتدای خط فعلی حرکت کنید.
انتهای خط (CE)
به انتهای خط حرکت کنید.
رو به جلو (Cf)
یک شخصیت را به جلو حرکت دهید.
عقب مانده (Cb)
یک شخصیت را به عقب برگردانید.
رو به جلو (Mf)
به سمت انتهای کلمه بعدی حرکت کنید. کلمات از حروف عددی تشکیل شده اند
کاراکترها (حروف و ارقام).
کلمه عقب مانده (MB)
به ابتدای کلمه فعلی یا قبلی برگردید. کلمات تشکیل شده است
کاراکترهای الفبایی (حروف و اعداد).
پوسته-پیش-کلمه
به سمت انتهای کلمه بعدی حرکت کنید. کلمات با پوسته غیر نقل قول مشخص می شوند
متا شخصیت ها
پوسته-بازگشت-کلمه
به ابتدای کلمه فعلی یا قبلی برگردید. کلمات توسط محدود می شوند
فراکاراکترهای پوسته نقل قول نشده
صفحه شفاف (کلر)
صفحه را پاک کنید و خط فعلی را در بالای صفحه باقی بگذارید. با یک
آرگومان، خط فعلی را بدون پاک کردن صفحه بازخوانی کنید.
رسم-جریان-خط
خط فعلی را بازخوانی کنید.

دستورات برای دستکاری la تاریخچه
خط پذیرش (خط جدید، برگشت)
بدون در نظر گرفتن مکان نما، خط را بپذیرید. اگر این خط خالی نیست، اضافه کنید
آن را به فهرست تاریخ با توجه به وضعیت HISTCONTROL متغیر. اگر
خط یک خط تاریخچه تغییر یافته است، سپس خط تاریخچه را به حالت اصلی خود بازگردانید
دولت است.
سابقه قبلی (Cp)
دستور قبلی را از لیست تاریخچه واکشی کنید و در لیست به عقب برگردید.
تاریخچه بعدی (Cn)
دستور بعدی را از لیست تاریخچه واکشی کنید و در لیست به جلو حرکت کنید.
آغاز تاریخ (M-<)
به خط اول تاریخ بروید.
پایان تاریخ (M->)
به انتهای تاریخچه ورودی بروید، یعنی خطی که در حال حاضر وارد شده است.
تاریخچه جستجوی معکوس (Cr)
جستجوی عقب با شروع از خط فعلی و حرکت به سمت بالا در تاریخ به عنوان
لازم است. این یک جستجوی افزایشی است.
پیش-جستجو-تاریخ (Cs)
جستجوی جلو با شروع از خط فعلی و حرکت به سمت پایین در طول تاریخ
تا جایی که لازم است. این یک جستجوی افزایشی است.
تاریخچه جستجوی معکوس غیر افزایشی (MP)
جستجوی عقب در تاریخچه از خط فعلی با استفاده از یک غیر
جستجوی افزایشی برای رشته ای که توسط کاربر ارائه شده است.
تاریخچه جستجوی غیر افزایشی (Mn)
با استفاده از جستجوی غیر افزایشی برای یک رشته، در تاریخچه به جلو جستجو کنید
توسط کاربر عرضه می شود.
تاریخ-جستجو-به جلو
در طول تاریخ به دنبال رشته ای از کاراکترهای بین شروع بگردید
از خط فعلی و نقطه. این یک جستجوی غیر افزایشی است.
تاریخ-جستجو-بازگشت
در طول تاریخ، رشته ای از کاراکترها را بین شروع جستجو کنید
از خط فعلی و نقطه. این یک جستجوی غیر افزایشی است.
yank-nth-arg (MCy)
آرگومان اول را به دستور قبلی وارد کنید (معمولاً کلمه دوم روی
خط قبلی) در نقطه. با استدلال n، قرار دادن nامین کلمه از قبلی
دستور (کلمات دستور قبلی با کلمه 0 شروع می شوند). یک استدلال منفی
را درج می کند nامین کلمه از انتهای دستور قبلی. یک بار استدلال n is
محاسبه می شود، آرگومان به گونه ای استخراج می شود که گویی "!n«گسترش تاریخ بوده است
مشخص شده.
yank-last-arg (م-.، M-_)
آخرین آرگومان را به دستور قبلی (آخرین کلمه قبلی) وارد کنید
مدخل تاریخ). با یک آرگومان عددی، دقیقاً مانند رفتار کنید yank-nth-arg.
تماس های پی در پی به yank-last-arg از طریق فهرست تاریخچه به عقب برگردید و علامت را وارد کنید
آخرین کلمه (یا کلمه مشخص شده توسط آرگومان برای اولین فراخوانی) هر خط در
دور زدن. هر آرگومان عددی ارائه شده به این فراخوانی های متوالی، مقدار را تعیین می کند
جهت حرکت در طول تاریخ یک آرگومان منفی جهت را تغییر می دهد
در طول تاریخ (به عقب یا جلو). از امکانات توسعه تاریخ استفاده می شود
برای استخراج کلمه آخر، گویی که بسط تاریخچه "!$" مشخص شده است.
shell-expand-line (MCe)
خط را مانند پوسته گسترش دهید. این نام مستعار و بسط تاریخ را به عنوان انجام می دهد
و همچنین تمام بسط های کلمه پوسته. دیدن تاریخچه بازپرداخت زیر برای a
شرح گسترش تاریخ
history-expand-line (M-^)
توسعه تاریخچه را در خط فعلی انجام دهید. دیدن تاریخچه بازپرداخت زیر برای a
شرح گسترش تاریخ
جادو-فضا
توسعه تاریخچه را در خط فعلی انجام دهید و یک فاصله درج کنید. دیدن تاریخچه
بازپرداخت در زیر برای شرح گسترش تاریخ.
نام مستعار-expand-line
توسعه مستعار را در خط فعلی انجام دهید. دیدن نام مستعار در بالا برای توضیح
از گسترش مستعار.
history-and-alias-expand-line
توسعه تاریخچه و نام مستعار را در خط فعلی انجام دهید.
درج آخرین استدلال (م-.، M-_)
مترادف برای yank-last-arg.
عملیات و دریافت بعدی (شرکت)
خط فعلی را برای اجرا بپذیرید و خط بعدی را نسبت به آن واکشی کنید
خط فعلی از تاریخ برای ویرایش. هر استدلالی نادیده گرفته می شود.
edit-and-execute-command (C-xC-e)
یک ویرایشگر را در خط فرمان فعلی فراخوانی کنید و نتیجه را به صورت پوسته اجرا کنید
دستورات بر هم زدن تلاش برای فراخوانی $بصری, $ ویراستارو ایمکس به عنوان ویراستار، در
آن دستور

دستورات برای تغییر دادن متن
پایان پرونده (معمولا سی دی)
نویسه ای که پایان فایل را به عنوان مجموعه نشان می دهد، به عنوان مثال، با "stty". اگر این
کاراکتر زمانی خوانده می شود که هیچ کاراکتری در خط وجود نداشته باشد و نقطه در خط باشد
ابتدای خط، Readline آن را به عنوان انتهای ورودی تفسیر می کند و برمی گرداند EOF.
delete-char (سی دی)
کاراکتر را در نقطه حذف کنید. اگر این تابع به همان کاراکتری متصل شود
tty EOF شخصیت، به عنوان سی دی معمولاً وجود دارد، برای تأثیرات به بالا مراجعه کنید.
backward-delete-char (روابوت)
کاراکتر پشت مکان نما را حذف کنید. وقتی آرگومان عددی داده می شود، آن را ذخیره کنید
متن حذف شده روی حلقه کشتن
جلو-عقب-حذف-شار
کاراکتر زیر مکان نما را حذف کنید، مگر اینکه مکان نما در انتهای خط باشد.
در این صورت کاراکتر پشت مکان نما حذف می شود.
نقل قول-درج (Cq, رزومه)
کاراکتر بعدی را که کلمه به کلمه تایپ شده به خط اضافه کنید. نحوه درج به این صورت است
شخصیت هایی مانند Cq، به عنوان مثال.
درج زبانه (رزومه TAB)
یک کاراکتر برگه درج کنید.
خود درج (آ، b, A, 1, !, ...)
کاراکتر تایپ شده را وارد کنید.
جابجایی کاراکترها (Ct)
نویسه را قبل از نقطه به جلو بر روی نویسه در نقطه بکشید، نقطه حرکت می کند
رو به جلو نیز. اگر نقطه در انتهای خط باشد، این دو را جابه‌جا می‌کند
کاراکترهای قبل از نقطه استدلال های منفی تأثیری ندارد.
جابجایی کلمات (Mt)
کلمه قبل از نقطه را از کلمه به نقطه عبور کنید و نقطه را روی آن کلمه حرکت دهید
همچنین. اگر نقطه در انتهای خط باشد، این دو کلمه آخر را به آن جابجا می کند
خط
حروف بزرگ (مو)
کلمه فعلی (یا بعدی) را با حروف بزرگ بنویسید. با یک آرگومان منفی، علامت را بزرگ کنید
کلمه قبلی، اما نقطه حرکت نمی کند.
کلمه کوچک (میلی لیتر)
کلمه فعلی (یا بعدی) را با حروف کوچک بنویسید. با یک آرگومان منفی، علامت را کوچک کنید
کلمه قبلی، اما نقطه حرکت نمی کند.
بزرگ کردن کلمه (Mc)
کلمه فعلی (یا بعدی) را با حروف بزرگ بنویسید. با آرگومان منفی، حروف بزرگ بنویسید
کلمه قبلی است، اما نقطه حرکت نمی کند.
حالت رونویسی
حالت رونویسی را تغییر دهید. با یک آرگومان عددی مثبت صریح، به
حالت رونویسی با یک آرگومان عددی صریح غیر مثبت، به درج تغییر می کند
حالت این دستور فقط تاثیر می گذارد ایمکس حالت vi حالت به طور متفاوتی بازنویسی می کند.
هر تماس به readline() در حالت درج شروع می شود. در حالت رونویسی، کاراکترها محدود می شوند
به خود درج به جای فشار دادن متن به سمت راست، متن را در نقطه جایگزین کنید.
شخصیت های مقید به backward-delete-char کاراکتر قبل از نقطه را با a جایگزین کنید
فضا. به طور پیش فرض، این دستور unbound است.

کشتن و یانکینگ
خط کشتن (ک)
متن را از نقطه تا انتهای خط بکشید.
به عقب-کشت خط (Cx روبوت)
به سمت عقب تا ابتدای خط بکشید.
unix-line-discard (مس)
از نقطه تا ابتدای خط به عقب بکشید. متن کشته شده ذخیره می شود
حلقه کشتار
کشتن تمام خط
تمام کاراکترهای خط فعلی را بکشید، مهم نیست نقطه کجاست.
کلمه کشتن (Md)
از نقطه تا انتهای کلمه فعلی، یا اگر بین کلمات، تا انتهای کلمه را بکشید
کلمه بعدی مرزهای کلمه همان است که توسط استفاده می شود رو به جلو.
عقب مانده-کشتن-کلمه (M-Rubout)
کلمه پشت نقطه را بکش. مرزهای کلمه همان است که توسط استفاده می شود
کلمه عقب مانده.
پوسته-کشتن-کلمه (Md)
از نقطه تا انتهای کلمه فعلی، یا اگر بین کلمات، تا انتهای کلمه را بکشید
کلمه بعدی مرزهای کلمه همان است که توسط استفاده می شود پوسته-پیش-کلمه.
پوسته-عقب-کشتن-کلمه (M-Rubout)
کلمه پشت نقطه را بکش. مرزهای کلمه همان است که توسط استفاده می شود
پوسته-بازگشت-کلمه.
unix-word-rubout (Cw)
کلمه پشت نقطه را بکشید، با استفاده از فضای سفید به عنوان مرز کلمه. متن کشته شده
در حلقه کشتن ذخیره می شود.
unix-filename-rubout
کلمه پشت نقطه را با استفاده از فاصله سفید و کاراکتر اسلش به عنوان کلمه بکشید
مرزها متن کشته شده در kill-ring ذخیره می شود.
حذف-افقی-فضا (M-\)
تمام فاصله ها و برگه های اطراف نقطه را حذف کنید.
منطقه کشتار
متن را در منطقه فعلی بکشید.
copy-region-as-kill
متن موجود در منطقه را در بافر kill کپی کنید.
copy-backward-word
کلمه قبل از نقطه را در بافر kill کپی کنید. مرزهای کلمه همان است
کلمه عقب مانده.
copy-forward-word
کلمه زیر را در بافر kill کپی کنید. مرزهای کلمه یکسان است
as رو به جلو.
یانک (Cy)
بالای حلقه کشتن را در نقطه بافر داخل بافر کنید.
یانک پاپ (من)
حلقه کشتن را بچرخانید و قسمت بالای جدید را بچرخانید. فقط زیر کار می کند یانک or یانک پاپ.

عددی استدلال
آرگومان رقمی (M-0، M-1، ... م--)
این رقم را به آرگومان در حال انباشته شدن اضافه کنید یا یک آرگومان جدید شروع کنید. م--
بحث منفی شروع می کند
استدلال جهانی
این روش دیگری برای تعیین یک آرگومان است. اگر این دستور با یک یا دنبال شود
ارقام بیشتر، به صورت اختیاری با علامت منفی جلو، آن ارقام را تعریف می کنند
بحث و جدل. اگر دستور با اعداد دنبال شود، اجرا می شود استدلال جهانی از نو
آرگومان عددی را پایان می دهد، اما در غیر این صورت نادیده گرفته می شود. به عنوان یک مورد خاص، اگر این
دستور بلافاصله با یک کاراکتر که نه رقم است و نه منهای دنبال می شود
علامت، تعداد آرگومان برای دستور بعدی در چهار ضرب می شود. بحث و جدل
count در ابتدا یک است، بنابراین اجرای این تابع در بار اول باعث می شود
آرگومان شماره چهار، بار دوم آرگومان را شانزده عدد می کند و غیره.

تکمیل کردن
کامل (TAB)
سعی کنید متن را قبل از نقطه تکمیل کنید. بر هم زدن تلاش برای تکمیل
در نظر گرفتن متن به عنوان یک متغیر (اگر متن با $)، نام کاربری (اگر متن
شروع با ~، نام میزبان (اگر متن با آن شروع می شود @، یا دستور (از جمله نام مستعار).
و توابع) به نوبه خود. اگر هیچ یک از اینها مطابقت ایجاد نکرد، تکمیل نام فایل است
تلاش.
امکان تکمیل (M-؟)
تکمیل های احتمالی متن را قبل از نقطه فهرست کنید.
درج-تکمیل ها (M-*)
تمام تکمیل‌های متن را قبل از نقطه‌ای که می‌توانست توسط آن ایجاد شده باشد، درج کنید
امکان تکمیل.
منوی کامل
مشابه کامل، اما کلمه ای که باید تکمیل شود را با یک مطابقت از جایگزین می کند
لیست تکمیل های ممکن اجرای مکرر منوی کامل مراحل
از طریق لیست تکمیل های ممکن، هر مسابقه را به نوبه خود درج کنید. در پایان
از لیست تکمیل‌شده‌ها، زنگ نواخته می‌شود (مشروط به تنظیم به سبک زنگ)
و متن اصلی بازیابی می شود. یک استدلال از n حرکت می کند n موقعیت های رو به جلو در
لیست مسابقات؛ ممکن است از یک آرگومان منفی برای حرکت به عقب در میان استفاده شود
فهرست این دستور در نظر گرفته شده است که به آن ملحق شود TAB، اما به طور پیش فرض محدود نشده است.
منو-کامل-بازگشت
یکسان با منوی کامل، اما از طریق لیست ممکن به عقب حرکت می کند
تکمیل ها، گویی منوی کامل استدلال منفی داده شده بود. این دستور
به طور پیش فرض محدود نشده است.
حذف-کار-یا-لیست
اگر در ابتدا یا انتهای خط نباشد، کاراکتر زیر مکان نما را حذف می کند
(پسندیدن delete-char). اگر در انتهای خط، یکسان رفتار می کند
امکان تکمیل. این دستور به طور پیش فرض unbound است.
نام کامل فایل (M-/)
سعی کنید نام فایل را روی متن قبل از نقطه تکمیل کنید.
امکان-فایل-تکمیل ها (Cx /)
تکمیل های احتمالی متن را قبل از نقطه فهرست کنید و آن را به عنوان یک نام فایل در نظر بگیرید.
نام کاربری کامل (M-~)
سعی کنید متن قبل از نقطه را تکمیل کنید و آن را به عنوان یک نام کاربری در نظر بگیرید.
امکان-نام کاربری-تکمیل ها (Cx ~)
تکمیل های احتمالی متن را قبل از نقطه فهرست کنید و آن را به عنوان یک نام کاربری در نظر بگیرید.
متغیر کامل (M-$)
سعی کنید متن را قبل از نقطه تکمیل کنید و آن را به عنوان یک متغیر پوسته در نظر بگیرید.
ممکن-متغیر-تکمیل (Cx $)
تکمیل های احتمالی متن را قبل از نقطه فهرست کنید و آن را به عنوان یک پوسته در نظر بگیرید
متغیر.
نام میزبان کامل (M-@)
سعی کنید متن قبل از نقطه را تکمیل کنید و آن را به عنوان یک نام میزبان در نظر بگیرید.
امکان-نام میزبان-تکمیل ها (Cx @)
تکمیل‌های احتمالی متن را قبل از نقطه فهرست کنید و آن را به‌عنوان نام میزبان در نظر بگیرید.
فرمان کامل (M-!)
سعی کنید متن قبل از نقطه را تکمیل کنید و آن را به عنوان یک نام فرمان در نظر بگیرید.
تکمیل فرمان تلاش می کند متن را با نام مستعار، کلمات رزرو شده مطابقت دهد،
توابع پوسته، توابع پوسته، و در نهایت نام فایل های اجرایی، به ترتیب.
امکان-فرمان-تکمیل (Cx !)
تکمیل های احتمالی متن را قبل از نقطه فهرست کنید و آن را به عنوان یک دستور در نظر بگیرید
نام.
تاریخچه پویا-کامل (M-TAB)
سعی کنید متن قبل از نقطه را تکمیل کنید، متن را با خطوط از مقایسه کنید
لیست تاریخچه برای مسابقات تکمیلی احتمالی
dabbrev-expand
تلاش برای تکمیل منو روی متن قبل از نقطه، مقایسه متن با خطوط
از لیست تاریخچه برای مسابقات تکمیلی احتمالی.
کامل به پرانتز (M-{)
تکمیل نام فایل را انجام دهید و لیست تکمیل‌های احتمالی را وارد کنید
در داخل پرانتزها، بنابراین لیست در دسترس پوسته باشد (نگاه کنید به برس توسعه در بالا).

صفحه کلید ماکرو
start-kbd-macro (Cx ()
شروع به ذخیره کاراکترهای تایپ شده در ماکرو صفحه کلید فعلی کنید.
end-kbd-macro (Cx ))
ذخیره کاراکترهای تایپ شده در ماکرو صفحه کلید فعلی را متوقف کنید و آن را ذخیره کنید
تعریف.
call-last-kbd-macro (Cx e)
با ساختن کاراکترهای موجود در ماکرو، آخرین ماکرو صفحه کلید تعریف شده را دوباره اجرا کنید
به نظر می رسد که گویی در صفحه کلید تایپ شده است.
print-last-kbd-macro ()
آخرین ماکرو صفحه کلید تعریف شده را در قالب مناسب چاپ کنید inputrc فایل.

متفرقه
بازخوانی-init-فایل (Cx کر)
مطالب را بخوانید inputrc فایل، و هر گونه اتصال یا متغیر را در آن بگنجانید
تکالیف پیدا شده در آنجا
سقط (Cg)
دستور ویرایش فعلی را لغو کنید و زنگ ترمینال را به صدا درآورید (مطابق با
تنظیم از به سبک زنگ).
نسخه بزرگ (مادر، MB، M-x, ...)
اگر شخصیت متافی شده x حروف کوچک است، دستوری را که به آن محدود شده است اجرا کنید
حروف بزرگ مربوطه
پیشوند متا (خروج)
متافی کاراکتر بعدی را تایپ کرد. ESC f برابر است با متا اف.
خنثی کردن (C-_, Cx مس)
لغو افزایشی، به طور جداگانه برای هر خط به خاطر سپرده می شود.
خط برگشت (آقای)
تمام تغییرات ایجاد شده در این خط را لغو کنید. این مانند اجرای آن است خنثی کردن به اندازه کافی فرمان بده
بار برای بازگرداندن خط به حالت اولیه.
tilde-expand (M-&)
توسعه tilde را روی کلمه فعلی انجام دهید.
علامت گذاری (C-@, M- )
علامت را روی نقطه تنظیم کنید. اگر یک آرگومان عددی ارائه شود، علامت روی تنظیم می شود
آن موقعیت
تبادل نقطه و علامت (Cx Cx)
نقطه را با علامت عوض کنید. موقعیت مکان نما فعلی روی ذخیره شده تنظیم شده است
موقعیت، و موقعیت مکان نما قدیمی به عنوان علامت ذخیره می شود.
جستجوی شخصیت (C-])
یک کاراکتر خوانده می شود و نقطه به رخداد بعدی آن کاراکتر منتقل می شود. آ
تعداد منفی جستجو برای موارد قبلی
شخصیت-جستجو-بازگشت (MC-])
یک کاراکتر خوانده می شود و نقطه به رخداد قبلی آن منتقل می شود
شخصیت. یک شمارش منفی برای رخدادهای بعدی جستجو می کند.
skip-csi-sequence
به اندازه کافی کاراکتر بخوانید تا یک دنباله چند کلیدی مانند آنهایی که برای آنها تعریف شده است مصرف شود
کلیدهایی مانند Home و End چنین توالی هایی با یک نشانگر توالی کنترل شروع می شوند
(CSI)، معمولاً ESC-[. اگر این دنباله به "\[" محدود شده باشد، کلیدهایی که چنین هستند
توالی ها هیچ تأثیری ندارند مگر اینکه به طور صریح به یک دستور Readline متصل شوند،
به جای درج کاراکترهای سرگردان در بافر ویرایش. این بی بند و بار است
پیش فرض، اما معمولاً به ESC-[ محدود می شود.
درج-نظر (M-#)
بدون آرگومان عددی، مقدار Readline نظر - شروع متغیر است
در ابتدای خط فعلی درج شده است. اگر یک آرگومان عددی ارائه شود،
این دستور به عنوان یک جابجایی عمل می کند: اگر کاراکترهای ابتدای خط انجام می دهند
با ارزش مطابقت ندارد نظر - شروع، مقدار درج می شود، در غیر این صورت مقدار
شخصیت در نظر - شروع از ابتدای خط حذف می شوند. در هر دو
در این حالت، خط به گونه ای پذیرفته می شود که گویی یک خط جدید تایپ شده است. مقدار پیش فرض از
نظر - شروع باعث می شود که این دستور خط فعلی را به یک نظر پوسته تبدیل کند. اگر یک
آرگومان عددی باعث می شود که کاراکتر نظر حذف شود، خط خواهد بود
توسط پوسته اجرا شد.
glob-comple-word (Mg)
کلمه قبل از نقطه به عنوان الگویی برای بسط نام مسیر با یک تلقی می شود
ستاره به طور ضمنی ضمیمه شده است. این الگو برای ایجاد لیستی از تطابق استفاده می شود
نام فایل برای تکمیل های احتمالی
glob-expand-word (Cx *)
کلمه قبل از نقطه به عنوان الگویی برای گسترش نام مسیر و لیست در نظر گرفته می شود
نام فایل های منطبق به جای کلمه درج شده است. اگر آرگومان عددی باشد
ارائه شده، یک ستاره قبل از گسترش نام مسیر اضافه شده است.
glob-list-expansions (Cx g)
فهرستی از بسط هایی که توسط glob-expand-word is
نمایش داده می شود و خط دوباره ترسیم می شود. اگر یک آرگومان عددی ارائه شده باشد، یک ستاره
قبل از گسترش نام مسیر اضافه شده است.
توابع تخلیه
همه توابع و اتصالات کلید آنها را به جریان خروجی خط خواندن چاپ کنید.
اگر یک آرگومان عددی ارائه شود، خروجی به گونه ای فرمت می شود که آن را
را می توان بخشی از یک inputrc فایل.
dump-variables
تمام متغیرهای قابل تنظیم خط خواندن و مقادیر آنها را در خط خواندن چاپ کنید
جریان خروجی اگر یک آرگومان عددی ارائه شود، خروجی به این شکل قالب بندی می شود
راهی که می توان آن را بخشی از یک inputrc فایل.
dump-macros
تمام دنباله‌های کلید Readline متصل به ماکروها و رشته‌های آنها را چاپ کنید
خروجی اگر یک آرگومان عددی ارائه شود، خروجی به این صورت قالب بندی می شود
که می توان آن را بخشی از یک inputrc فایل.
نمایش-پوسته-نسخه (Cx رزومه)
نمایش اطلاعات نسخه در مورد نمونه فعلی بر هم زدن.

برنامه ریزی تکمیل
هنگامی که برای یک آرگومان به دستوری که برای آن تکمیل شده است، تلاش می شود تا کلمه تکمیل شود
مشخصات (الف compspec) با استفاده از تعریف شده است کامل ساخته شده (نگاه کنید به پوسته ساخته شده
دستورات در زیر)، امکانات تکمیل قابل برنامه ریزی فراخوانی شده است.

ابتدا نام فرمان مشخص می شود. اگر کلمه فرمان رشته خالی باشد
(تکمیل در ابتدای یک خط خالی انجام شد)، هر compspec تعریف شده با -E
گزینه ای برای کامل استفاده می شود. اگر یک compspec برای آن دستور تعریف شده باشد، compspec
برای ایجاد لیستی از تکمیل های ممکن برای کلمه استفاده می شود. اگر کلمه فرمان باشد
یک نام مسیر کامل، ابتدا یک compspec برای نام مسیر کامل جستجو می شود. در صورت عدم وجود compspec
برای نام مسیر کامل یافت می شود، سعی شده است یک compspec برای قسمت پیدا شود
به دنبال اسلش نهایی اگر این جستجوها منجر به compspec نشد، هر compspec
تعریف شده با -D گزینه ای برای کامل به عنوان پیش فرض استفاده می شود.

هنگامی که یک compspec پیدا شد، برای تولید لیست کلمات منطبق استفاده می شود. اگر یک
compspec یافت نشد، پیش فرض است بر هم زدن تکمیل همانطور که در بالا توضیح داده شد تکمیل کردن is
انجام.

ابتدا از اقدامات مشخص شده توسط compspec استفاده می شود. فقط منطبقاتی که پیشوند توسط
کلمه در حال تکمیل برگردانده می شود. وقتی که -f or -d گزینه برای نام فایل یا
تکمیل نام دایرکتوری، متغیر پوسته FIGNORE برای فیلتر کردن مسابقات استفاده می شود.

هر گونه تکمیل مشخص شده توسط یک الگوی گسترش نام مسیر به -G گزینه ایجاد می شود
بعد. کلمات ایجاد شده توسط الگو لازم نیست با کلمه در حال تکمیل مطابقت داشته باشند. در
GLOBIGNORE از متغیر پوسته برای فیلتر کردن مسابقات استفاده نمی شود، بلکه از FIGNORE متغیر است
استفاده شده.

بعد، رشته ای به عنوان آرگومان در تعیین می شود -W گزینه در نظر گرفته شده است. رشته است
ابتدا با استفاده از کاراکترهای موجود در IFS متغیر ویژه به عنوان جداکننده نقل قول شل
مفتخر است. سپس هر کلمه با استفاده از بسط پرانتز، بسط tilde، پارامتر گسترش می‌یابد
و بسط متغیر، جایگزینی دستور، و بسط حسابی، همانطور که در بالا توضیح داده شد
زیر بازپرداخت. نتایج با استفاده از قوانین شرح داده شده در زیر تقسیم می شوند کلمه
فتق. نتایج بسط با پیشوند کلمه هستی مطابقت دارد
تکمیل شد و کلمات منطبق به تکمیل های ممکن تبدیل شدند.

پس از ایجاد این تطابق ها، هر تابع پوسته یا دستور مشخص شده با
-F و -C گزینه ها فراخوانی می شود. هنگامی که فرمان یا تابع فراخوانی می شود، COMP_LINE,
COMP_POINT, COMP_KEYو COMP_TYPE به متغیرها مقادیری که در بالا در زیر توضیح داده شد اختصاص داده می شود
صدف متغیر. اگر یک تابع پوسته در حال فراخوانی باشد، COMP_WORDS و COMP_CWORD
متغیرها نیز تنظیم شده است. هنگامی که تابع یا دستور فراخوانی می شود، اولین آرگومان ($1)
نام فرمانی است که آرگومان های آن در حال تکمیل است، آرگومان دوم ($2)
کلمه در حال تکمیل است و استدلال سوم ($3) کلمه قبل از کلمه است
در حال تکمیل در خط فرمان فعلی. بدون فیلتر تکمیل های ایجاد شده
در مقابل کلمه در حال تکمیل انجام می شود; تابع یا فرمان کامل شده است
آزادی در تولید مسابقات

هر تابعی که با -F ابتدا فراخوانی می شود. این تابع ممکن است از هر یک از پوسته استفاده کند
امکانات، از جمله compgen ساخته شده در زیر توضیح داده شده است، برای تولید مسابقات. آی تی
باید تکمیل های ممکن را در کامل کنید متغیر آرایه، یکی در هر عنصر آرایه.

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

پس از ایجاد تمام تکمیل‌های ممکن، هر فیلتری که با آن مشخص شده است -X
گزینه به لیست اعمال می شود. فیلتر الگویی است که برای بسط نام مسیر استفاده می شود. آ
& در الگو با متن کلمه در حال تکمیل جایگزین می شود. به معنای واقعی کلمه & ممکن است
با یک بک اسلش فرار کرد. بک اسلش قبل از تلاش برای مسابقه حذف می شود. هر
تکمیلی که با الگو مطابقت داشته باشد از لیست حذف خواهد شد. یک پیشرو ! نفی می کند
الگو؛ در این صورت هر تکمیلی که با الگو مطابقت نداشته باشد حذف خواهد شد.

در نهایت، هر پیشوند و پسوند مشخص شده با -P و -S گزینه هایی به هر کدام اضافه می شود
عضو لیست تکمیل، و نتیجه به کد تکمیل خط خواندن بازگردانده می شود
به عنوان لیست تکمیل های ممکن

اگر اقدامات قبلاً اعمال شده هیچ منطبقی ایجاد نکردند، و -o dirnames انتخاب
عرضه شد کامل هنگامی که compspec تعریف شد، تکمیل نام دایرکتوری است
تلاش.

اگر -o plusdirs گزینه عرضه شد کامل وقتی compspec تعریف شد،
نام دایرکتوری تکمیل می شود و هر گونه مطابقت به نتایج آن اضافه می شود
سایر اقدامات.

به‌طور پیش‌فرض، اگر یک compspec پیدا شود، هر چیزی که ایجاد می‌کند به تکمیل بازگردانده می‌شود
کد به عنوان مجموعه کامل تکمیل های ممکن. به طور پیش فرض بر هم زدن تکمیل نیست
تلاش کرد، و پیش‌فرض خط خواندن تکمیل نام فایل غیرفعال است. اگر -o
bashdefault گزینه عرضه شد کامل زمانی که compspec تعریف شد، بر هم زدن
اگر compspec هیچ منطبقی ایجاد نکند، تکمیل های پیش فرض انجام می شود. اگر -o به طور پیش فرض
گزینه عرضه شد کامل وقتی compspec تعریف شد، Readline پیش‌فرض است
تکمیل در صورتی انجام می شود که compspec (و در صورت تلاش، پیش فرض باشد بر هم زدن
تکمیل) هیچ منطبقی ایجاد نمی کند.

هنگامی که یک compspec نشان می دهد که تکمیل نام دایرکتوری مورد نظر است، قابل برنامه ریزی است
توابع تکمیل readline را مجبور می‌کند تا یک اسلش به نام‌های تکمیل‌شده اضافه کند
پیوندهای نمادین به دایرکتوری ها، مشروط به ارزش نشان-دایرکتوری ها خط خواندن
متغیر، صرف نظر از تنظیم دایرکتوری های علامت گذاری شده-symlinked متغیر readline

برخی از پشتیبانی ها برای اصلاح پویا تکمیل ها وجود دارد. این زمانی بسیار مفید است
در ترکیب با یک تکمیل پیش فرض مشخص شده با استفاده می شود کامل -D. ممکن است
برای توابع پوسته که به عنوان کنترل کننده تکمیل اجرا می شوند تا نشان دهند که تکمیل باید انجام شود
با برگرداندن وضعیت خروج 124 دوباره امتحان می شود. اگر تابع پوسته 124 را برگرداند و تغییر کند
compspec مرتبط با فرمانی که در آن تکمیل می شود (ارائه شده است
به عنوان اولین آرگومان هنگام اجرای تابع)، تکمیل قابل برنامه ریزی مجدداً راه اندازی می شود
از ابتدا، با تلاش برای یافتن یک compspec جدید برای آن دستور. این اجازه می دهد
مجموعه‌ای از تکمیل‌ها که باید به‌صورت پویا در حین تکمیل شدن ساخته شوند، نه اینکه باشند
یکباره بارگیری شد

به عنوان مثال، با فرض اینکه کتابخانه ای از compspecs وجود دارد که هر کدام در یک فایل نگهداری می شوند
مطابق با نام دستور، تابع تکمیل پیش فرض زیر خواهد بود
تکمیل بار به صورت پویا:

_completion_loader()
{
است. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && برگردان 124
}
کامل -D -F _completion_loader -o bashdefault -o پیش‌فرض

تاریخچه


هنگامی که -o تاریخ گزینه به تنظیم داخلی فعال است، پوسته دسترسی به آن را فراهم می کند
فرمان تاریخ، لیستی از دستورات قبلا تایپ شده است. ارزش از HISTSIZE
متغیر به عنوان تعدادی از دستورات برای ذخیره در لیست تاریخ استفاده می شود. متن از
آخر HISTSIZE دستورات (پیش‌فرض 500) ذخیره می‌شود. پوسته هر فرمان را در
لیست تاریخچه قبل از بسط پارامتر و متغیر (نگاه کنید به بازپرداخت بالا) اما بعد
بسط تاریخ، با توجه به مقادیر متغیرهای پوسته انجام می شود HISTIGNORE
و HISTCONTROL.

هنگام راه اندازی، تاریخچه از فایلی که توسط متغیر نامگذاری شده مقداردهی اولیه می شود HISTFILE
(پیش فرض ash / .bash_history). نام فایل با مقدار HISTFILE کوتاه شده است، اگر
لازم است، بیش از تعداد خطوط مشخص شده با مقدار از نباشد
HISTFILESIZE. اگر HISTFILESIZE تنظیم نشده است، یا روی null، یک مقدار غیر عددی، یا یک عدد تنظیم شده است
مقدار کمتر از صفر، فایل تاریخچه کوتاه نشده است. وقتی فایل تاریخچه خوانده می شود،
خطوطی که با کاراکتر نظر تاریخ شروع می شوند و بلافاصله با یک رقم شروع می شوند
به عنوان مهر زمانی برای خط تاریخ قبلی تفسیر می شود. این مهرهای زمانی اختیاری هستند
بسته به مقدار نمایش داده می شود فرمت زمان تاریخ متغیر. هنگامی که یک پوسته با
تاریخچه را فعال کرد، آخرین HISTSIZE $ خطوط از لیست تاریخ به کپی می شوند
$HISTFILE. اگر هیستاپوند گزینه پوسته فعال است (توضیحات را ببینید خرید زیر
پوسته ساخته شده دستورات در زیر)، خطوط به فایل تاریخچه اضافه می شوند، در غیر این صورت
فایل تاریخچه بازنویسی شده است. اگر HISTFILE تنظیم نشده است، یا اگر فایل تاریخچه غیرقابل نوشتن باشد،
تاریخ ذخیره نمی شود اگر فرمت زمان تاریخ متغیر تنظیم شده است، مهرهای زمانی نوشته می شوند
به فایل تاریخچه، که با کاراکتر نظر تاریخ مشخص شده است، بنابراین ممکن است حفظ شوند
در سراسر جلسات پوسته این از کاراکتر نظر تاریخ برای تشخیص مُهرهای زمانی استفاده می‌کند
از دیگر خطوط تاریخ پس از ذخیره تاریخچه، فایل تاریخچه به کوتاه می شود
شامل بیش از HISTFILESIZE خطوط اگر HISTFILESIZE تنظیم نشده است، یا روی تهی تنظیم شده است، یک غیر
مقدار عددی یا مقدار عددی کمتر از صفر، فایل تاریخچه کوتاه نشده است.

دستور ساخته شده است fc (نگاه کنید به پوسته ساخته شده دستورات زیر) ممکن است برای فهرست کردن یا ویرایش و استفاده شود
بخشی از لیست تاریخچه را دوباره اجرا کنید. در تاریخ داخلی ممکن است برای نمایش یا استفاده شود
لیست تاریخچه را تغییر دهید و فایل تاریخچه را دستکاری کنید. هنگام استفاده از ویرایش خط فرمان،
دستورات جستجو در هر حالت ویرایش موجود است که دسترسی به تاریخچه را فراهم می کند
فهرست

پوسته اجازه می دهد تا کنترل کنید کدام دستورها در لیست تاریخچه ذخیره می شوند. در
HISTCONTROL و HISTIGNORE متغیرها ممکن است طوری تنظیم شوند که پوسته فقط یک زیر مجموعه را ذخیره کند
از دستورات وارد شده در cmdist گزینه shell در صورت فعال بودن باعث می شود پوسته به
سعی کنید هر خط از یک فرمان چند خطی را در همان ورودی تاریخ ذخیره کنید و اضافه کنید
نقطه ویرگول در صورت لزوم برای حفظ صحت نحوی. در سنگی گزینه پوسته
باعث می شود که پوسته به جای نقطه ویرگول، دستور را با خطوط جدید تعبیه شده ذخیره کند. دیدن
شرح خرید زیر ساخته شده است پوسته ساخته شده دستورات برای اطلاعات در مورد
تنظیم و لغو تنظیمات پوسته

تاریخچه بازپرداخت


پوسته از ویژگی بسط تاریخ پشتیبانی می کند که شبیه به بسط تاریخ در است
csh این بخش توضیح می دهد که چه ویژگی های نحوی موجود است. این ویژگی فعال است
به طور پیش فرض برای پوسته های تعاملی، و می توان با استفاده از آن غیرفعال کرد +H گزینه به تنظیم
دستور داخلی (نگاه کنید به پوسته ساخته شده دستورات زیر). پوسته های غیر تعاملی کارایی ندارند
گسترش تاریخ به طور پیش فرض

بسط تاریخ کلمات را از فهرست تاریخ وارد جریان ورودی می کند و آن را ایجاد می کند
تکرار دستورات آسان است، آرگومان های یک دستور قبلی را در ورودی فعلی وارد کنید
خط یا خطاهای دستورات قبلی را به سرعت برطرف کنید.

گسترش تاریخچه بلافاصله پس از خواندن یک خط کامل، قبل از پوسته انجام می شود
آن را به کلمات می شکند در دو بخش صورت می گیرد. اولین مورد تعیین خط است
از لیست تاریخچه برای استفاده در هنگام تعویض. دوم انتخاب بخش هایی از
آن خط برای گنجاندن در خط فعلی. خط انتخاب شده از تاریخچه است
واقعه، و بخشهایی از آن خط که به آنها عمل می شود عبارتند از کلمات. مختلف اصلاح کننده ها هستند
برای دستکاری کلمات انتخاب شده موجود است. خط در همان به کلمات شکسته می شود
مد مانند هنگام خواندن ورودی، به طوری که چندین فرا شخصیتکلمات جدا شده احاطه شده توسط
نقل قول ها یک کلمه در نظر گرفته می شوند. بسط تاریخ با ظاهر معرفی می شود
شخصیت گسترش تاریخ، که است ! به صورت پیش فرض. فقط اسلش معکوس (\) و مجرد
نقل قول ها می توانند شخصیت بسط تاریخ را نقل قول کنند.

اگر بلافاصله پس از تاریخچه یافت شود، چندین کاراکتر از گسترش تاریخ جلوگیری می کند
کاراکتر بسط، حتی اگر بدون نقل قول باشد: فاصله، تب، خط جدید، بازگشت کالسکه و =.
اگر extglob گزینه پوسته فعال است، ( همچنین از انبساط جلوگیری خواهد کرد.

چندین گزینه پوسته قابل تنظیم با خرید داخلی ممکن است برای تنظیم رفتار استفاده شود
گسترش تاریخ اگر histverify گزینه پوسته فعال است (توضیحات را ببینید
la خرید ساخته شده در زیر)، و خط خواندن استفاده می شود، تعویض تاریخ استفاده نمی شود
بلافاصله به تجزیه کننده پوسته منتقل شد. در عوض، خط توسعه یافته مجدداً در قسمت بارگذاری می شود
خط خواندن بافر ویرایش برای اصلاح بیشتر اگر خط خواندن استفاده می شود و
histreedit گزینه پوسته فعال است، یک جایگزین تاریخچه ناموفق در آن بارگذاری مجدد می شود
la خط خواندن ویرایش بافر برای اصلاح در -p گزینه به تاریخ دستور داخلی
ممکن است برای دیدن آنچه که یک بسط تاریخ قبل از استفاده از آن انجام می دهد استفاده شود. در -s گزینه به
تاریخ builin ممکن است برای اضافه کردن دستورات به انتهای لیست تاریخچه بدون استفاده شود
در واقع آنها را اجرا می کنند، به طوری که برای فراخوانی بعدی در دسترس هستند.

پوسته امکان کنترل کاراکترهای مختلف مورد استفاده توسط مکانیسم گسترش تاریخ را فراهم می کند
(توضیحات را ببینید هیستارها بالا زیر صدف متغیر). پوسته از
کاراکتر نظر تاریخ برای علامت گذاری مهرهای زمانی تاریخ هنگام نوشتن پرونده تاریخچه.

واقعه تعیین کنندگان
تعیین‌کننده رویداد اشاره‌ای به ورودی خط فرمان در فهرست تاریخچه است. مگر اینکه
مرجع مطلق است، وقایع نسبت به موقعیت فعلی در تاریخ است
فهرست

! یک تعویض تاریخچه را شروع کنید، به جز زمانی که با a دنبال شود سفید، خط جدید ، کالسکه
بازگشت، = یا ((زمانی که extglob گزینه shell با استفاده از گزینه فعال می شود خرید ساخته شده).
!n رجوع به خط فرمان شود n.
!-n به دستور فعلی منهای مراجعه کنید n.
!! رجوع به دستور قبلی شود. این مترادف "!-1" است.
!رشته
به آخرین دستور قبل از موقعیت فعلی در لیست تاریخچه مراجعه کنید
شروع با رشته.
!?رشته[؟]
به آخرین دستور قبل از موقعیت فعلی در لیست تاریخچه مراجعه کنید
حاوی رشته. دنباله دار ? ممکن است حذف شود اگر رشته بلافاصله پیگیری می شود
توسط یک خط جدید
^string1^string2^
تعویض سریع دستور قبلی را تکرار کنید، جایگزین کنید string1 با string2.
معادل ``!!:s/string1/string2/'' (دیدن اصلاح کننده ها در زیر).
!# کل خط فرمان تایپ شده است.

کلمه تعیین کنندگان
برای انتخاب کلمات مورد نظر از رویداد از تعیین کننده های کلمه استفاده می شود. آ : رویداد را از هم جدا می کند
مشخصات از کلمه تعیین کننده. اگر کلمه تعیین کننده شروع شود ممکن است حذف شود
با یک ^, $, *, -، یا %. کلمات از ابتدای خط با عدد شماره گذاری می شوند
اولین کلمه با 0 (صفر) نشان داده می شود. کلمات در خط فعلی جدا شده درج می شوند
توسط فضاهای منفرد

0 (صفر)
کلمه صفر. برای پوسته، این کلمه فرمان است.
n La nکلمه ام
^ استدلال اول. یعنی کلمه 1.
$ اخرین حرف. این معمولا آخرین آرگومان است، اما تا نقطه صفر گسترش می یابد
کلمه اگر فقط یک کلمه در خط وجود داشته باشد.
% کلمه مطابق با جدیدترین `؟رشته؟ جستجو کردن.
x-y مجموعه ای از کلمات؛ `-yمخفف «0-y'.
* همه کلمات به جز صفر. این مترادف برای ` است1-$'. خطا نیست
به استفاده از * اگر فقط یک کلمه در رویداد وجود داشته باشد؛ رشته خالی به داخل برگردانده می شود
آن پرونده.
x* اختصارات x-$.
x- اختصارات x-$ پسندیدن x*، اما کلمه آخر را حذف می کند.

اگر تعیین کننده کلمه بدون مشخصات رویداد ارائه شود، دستور قبلی است
به عنوان رویداد استفاده می شود.

اصلاح کننده ها
پس از تعیین کننده کلمه اختیاری، ممکن است دنباله ای از یک یا چند مورد ظاهر شود
اصلاح‌کننده‌های زیر، که قبل از هر کدام یک «:» وجود دارد.

h یک جزء نام فایل انتهایی را حذف کنید و فقط سر آن باقی بماند.
t تمام اجزای اصلی نام فایل را حذف کنید و دم را باقی بگذارید.
r پسوند انتهایی فرم را حذف کنید XXX.، ترک نام پایه.
e همه را به جز پسوند انتهایی حذف کنید.
p دستور جدید را چاپ کنید اما آن را اجرا نکنید.
q کلمات جایگزین شده را نقل قول کنید، از جایگزینی های بعدی فرار کنید.
x کلمات جایگزین را مانند با نقل قول کنید q، اما شکستن کلمات در جای خالی و خطوط جدید
s/قدیمی/جدید/
جایگزین جدید برای اولین وقوع قدیمی در خط رویداد هر تعیین کننده
می تواند به جای استفاده شود /. جداکننده نهایی اگر آخرین باشد اختیاری است
شخصیت خط رویداد جداکننده ممکن است در نقل قول شود قدیمی و جدید با یک
تک اسلش اگر & در جدید، جایگزین می شود قدیمی. تک اسلش
& را نقل خواهد کرد. اگر قدیمی null است، به آخرین تنظیم شده است قدیمی جایگزین شود، یا اگر نه
تعویض های قبلی انجام شد، آخرین رشته در !?رشته[؟]
جستجو کردن.
& تعویض قبلی را تکرار کنید.
g باعث شود تغییرات در کل خط رویداد اعمال شود. این در استفاده می شود
همراه با `:s"(مثلا ":gs/قدیمی/جدید/') یا ':&'. در صورت استفاده با `:s'، هر
جداکننده را می توان به جای / استفاده کرد و جداکننده نهایی در صورت وجود اختیاری است
آخرین شخصیت خط رویداد یک a ممکن است به عنوان مترادف برای استفاده شود g.
G موارد زیر را اعمال کنیدsیک بار برای هر کلمه در خط رویداد اصلاح کنید.

پوسته ساخته شده دستورات


مگر اینکه غیر از این ذکر شده باشد، هر دستور داخلی مستند در این بخش به عنوان پذیرنده است
گزینه های قبل از - قبول می کند -- برای نشان دادن پایان گزینه ها در :, درست, غلط,
و آزمون ساخته شده گزینه ها را قبول نمی کند و درمان نمی کند -- مخصوصا در خروج, خروج از سیستم,
شکستن, ادامه دادن, اجازهو تغییر بیلدین ها آرگومان هایی را که با شروع می شوند می پذیرند و پردازش می کنند -
بدون نیاز به --. سازه های دیگری که آرگومان ها را می پذیرند اما به عنوان مشخص نشده اند
پذیرش گزینه‌ها، آرگومان‌ها را با شروع تفسیر می‌کنند - به عنوان گزینه های نامعتبر و نیاز است --
برای جلوگیری از این تفسیر
: [استدلال]
بدون تاثیر؛ دستور هیچ کاری به جز گسترش نمی دهد استدلال و انجام هر کدام
تغییر مسیرهای مشخص شده یک کد خروجی صفر برگردانده می شود.

. نام فایل [استدلال]
منبع نام فایل [استدلال]
خواندن و اجرای دستورات از نام فایل در محیط پوسته فعلی و بازگشت
وضعیت خروج آخرین فرمان اجرا شده از نام فایل. اگر نام فایل نمیکند
حاوی اسلش، نام فایل ها در PATH برای یافتن دایرکتوری حاوی استفاده می شود
نام فایل. فایل جستجو شده در PATH لازم نیست قابل اجرا باشد چه زمانی بر هم زدن نیست
in پوزيكس حالت، دایرکتوری فعلی جستجو می شود اگر فایلی در آن یافت نشد PATH. اگر
la مسیر منبع گزینه به خرید فرمان داخلی خاموش است، PATH نیست
جستجو کرد. در صورت وجود استدلال عرضه می شوند، آنها به پارامترهای موقعیتی تبدیل می شوند
چه زمانی نام فایل اجرا می شود. در غیر این صورت پارامترهای موقعیتی بدون تغییر هستند. در
وضعیت بازگشت وضعیت آخرین فرمان خارج شده از اسکریپت است (اگر نه 0
دستورات اجرا می شوند)، و اگر اشتباه باشد نام فایل یافت نمی شود یا قابل خواندن نیست.

نام مستعار [-p] [نام[=ارزش]...]
نام مستعار بدون هیچ استدلال یا با -p گزینه لیستی از نام مستعار را چاپ می کند
فرم نام مستعار نام=ارزش روی خروجی استاندارد وقتی آرگومان‌ها ارائه می‌شوند، نام مستعار است
برای هر کدام تعریف شده است نام که ارزش داده شده است. یک فضای دنباله دار در ارزش باعث می شود
کلمه بعدی که باید برای جایگزینی نام مستعار بررسی شود زمانی که نام مستعار بزرگ شد. برای
هر نام در لیست آرگومان که هیچ ارزش نام و ارزش ارائه شده است
از نام مستعار چاپ شده است. نام مستعار درست را برمی گرداند مگر اینکه a نام داده می شود که برای آن خیر
نام مستعار تعریف شده است.

bg [ویژگی شغلی ...]
هر کار معلق را از سر بگیرید ویژگی شغلی در پس زمینه، گویی با آن شروع شده است
&. اگر ویژگی شغلی وجود ندارد، تصور پوسته از جاری کار استفاده می شود. bg
ویژگی شغلی 0 را برمی‌گرداند مگر اینکه زمانی که کنترل کار غیرفعال است یا هنگام اجرا با job اجرا شود
کنترل فعال است، هر مشخص شده است ویژگی شغلی پیدا نشد یا بدون کار راه اندازی شد
کنترل.

اتصال [-m نقشه کلید] [-lpsvPSVX]
اتصال [-m نقشه کلید] [-q تابع] [-u تابع] [-r keyseq]
اتصال [-m نقشه کلید] -f نام فایل
اتصال [-m نقشه کلید] -x keyseq:پوسته فرمان
اتصال [-m نقشه کلید] keyseq:نام تابع
اتصال Readline-Command
نمایش جریان خط خواندن اتصالات کلید و تابع، یک دنباله کلید را به a متصل کنید
خط خواندن تابع یا ماکرو یا مجموعه a خط خواندن متغیر. هر آرگومان غیر گزینه ای
دستوری است که در آن ظاهر می شود inputrc، اما هر binding یا دستوری باید باشد
به عنوان یک استدلال جداگانه تصویب شد. به عنوان مثال، '"\Cx\Cr": دوباره خواندن-init-file'. گزینه ها، اگر
عرضه شده، معانی زیر را دارند:
-m نقشه کلید
استفاده کنید نقشه کلید به عنوان نقشه کلیدی که تحت تأثیر اتصالات بعدی قرار می گیرد.
قابل قبول نقشه کلید نام ها هستند ایمکس، emacs-standard، emacs-meta، emacs-ctlx،
vi، vi-حرکت، vi-commandو vi-insert. vi برابر است با vi-command;
ایمکس برابر است با emacs-استاندارد.
-l نام همه را لیست کنید خط خواندن توابع.
-p نمایش دادن خط خواندن نام توابع و پیوندها به گونه ای که می توانند باشند
دوباره بخوانید
-P لیست فعلی خط خواندن نام توابع و اتصالات
-s نمایش دادن خط خواندن دنباله‌های کلیدی که به ماکروها و رشته‌هایی که آنها تولید می‌کنند متصل می‌شوند
به گونه ای که بتوان آنها را دوباره خواند.
-S نمایش دادن خط خواندن دنباله‌های کلیدی که به ماکروها و رشته‌هایی که آنها تولید می‌کنند متصل می‌شوند.
-v نمایش دادن خط خواندن نام ها و مقادیر متغیرها به گونه ای که می توانند باشند
دوباره بخوانید
-V لیست فعلی خط خواندن نام و مقادیر متغیرها
-f نام فایل
صحافی کلید را از نام فایل.
-q تابع
پرس و جو در مورد اینکه کدام کلیدها نامگذاری شده را فراخوانی می کنند تابع.
-u تابع
تمام کلیدهای متصل به نام را باز کنید تابع.
-r keyseq
حذف هر گونه اتصال فعلی برای keyseq.
-x keyseq:پوسته فرمان
علت پوسته فرمان هر زمان اعدام شود keyseq وارد شده است. چه زمانی
پوسته فرمان اجرا می شود، پوسته تنظیم می کند READLINE_LINE متغیر به
محتویات خط خواندن خط بافر و READLINE_POINT متغیر به
محل فعلی نقطه درج اگر دستور اجرا شده تغییر کند
ارزش READLINE_LINE or READLINE_POINT، آن مقادیر جدید خواهد بود
در حالت ویرایش منعکس می شود.
-X تمام دنباله‌های کلیدی متصل به دستورات پوسته و دستورات مرتبط را فهرست کنید
در قالبی که بتوان از آن به عنوان ورودی مجدد استفاده کرد.

مقدار برگشتی 0 است مگر اینکه گزینه ناشناخته ای داده شود یا خطایی رخ داده باشد.

شکستن [n]
خروج از درون a برای, در حین, تا، یا را انتخاب کنید حلقه اگر n مشخص شده است، شکستن n
سطوح. n باید ≥ 1 باشد. اگر n بیشتر از تعداد حلقه های محصور کننده است
حلقه های محصور خارج می شوند. مقدار بازگشتی 0 است مگر اینکه n بزرگتر از یا نیست
برابر با 1.

خانه پوسته ساخته شده [استدلال]
پوسته مشخص شده را با عبور از آن اجرا کنید استدلال، و خروجی آن را برگردانید
وضعیت این در هنگام تعریف تابعی که نام آن با پوسته یکسان است مفید است
ساخته شده، حفظ عملکرد داخلی در داخل تابع. در cd
ساختار داخلی معمولاً به این ترتیب بازتعریف می شود. وضعیت بازگشت نادرست است اگر
پوسته ساخته شده یک دستور ساخته شده در پوسته نیست.

تماس گیرنده [صادرات]
زمینه هر فراخوانی زیربرنامه فعال (یک تابع پوسته یا یک اسکریپت) را برمی‌گرداند
اجرا شده با . or منبع ساخته شده). بدون صادرات, تماس گیرنده خط را نمایش می دهد
شماره و نام فایل منبع تماس زیربرنامه جاری. اگر غیر منفی است
عدد صحیح به عنوان ارائه می شود صادرات, تماس گیرنده شماره خط، نام زیربرنامه و
فایل منبع مربوط به آن موقعیت در پشته فراخوانی اجرای فعلی.
این اطلاعات اضافی ممکن است برای مثال برای چاپ یک ردیابی پشته استفاده شود. در
فریم فعلی فریم 0 است. مقدار بازگشتی 0 است مگر اینکه پوسته اجرا نشود
یک تماس زیر روال یا صادرات با موقعیت معتبر در تماس مطابقت ندارد
پشته.

cd [-L|[-P [-e]] [-@]] [دیر]
دایرکتوری فعلی را به تغییر دهید دیر. اگر دیر عرضه نمی شود، ارزش صفحه اصلی
متغیر پوسته پیش فرض است. هر گونه استدلال اضافی در ادامه دیر نادیده گرفته می شوند
متغیر CDPATH مسیر جستجو را برای دایرکتوری حاوی تعریف می کند دیر: هر یک
نام دایرکتوری در CDPATH جستجو می شود دیر. نام دایرکتوری های جایگزین در
CDPATH با کولون (:) از هم جدا می شوند. یک نام دایرکتوری تهی در CDPATH همان است
به عنوان دایرکتوری فعلی، به عنوان مثال، ``.''. اگر دیر سپس با علامت (/) شروع می شود CDPATH
استفاده نمی شود. در -P گزینه علل cd برای استفاده از ساختار دایرکتوری فیزیکی توسط
حل کردن پیوندهای نمادین در حین پیمایش دیر و قبل از پردازش نمونه های ..
in دیر (همچنین مراجعه کنید -P گزینه به تنظیم دستور داخلی)؛ را -L نیروهای گزینه
پیوندهای نمادین با حل کردن پیوند پس از پردازش نمونه‌های دنبال می‌شوند
.. in دیر. اگر .. ظاهر می شود در دیر، با حذف فوری پردازش می شود
جزء نام مسیر قبلی از دیر، بازگشت به اسلش یا ابتدای دیر. اگر
la -e گزینه همراه با -Pو فهرست کاری فعلی نمی تواند باشد
با موفقیت پس از تغییر دایرکتوری موفق تعیین شد، cd یک را برمی گرداند
وضعیت ناموفق در سیستم هایی که از آن پشتیبانی می کنند، -@ گزینه را ارائه می دهد
ویژگی های توسعه یافته مرتبط با یک فایل به عنوان دایرکتوری. یک استدلال از - is
تبدیل شده به $OLDPWD قبل از اینکه دایرکتوری تغییر کند. اگر یک غیر خالی
نام دایرکتوری از CDPATH استفاده می شود، یا اگر - اولین استدلال است و
تغییر دایرکتوری موفقیت آمیز است، نام مسیر مطلق دایرکتوری کاری جدید
روی خروجی استاندارد نوشته می شود. مقدار بازگشتی درست است اگر دایرکتوری بود
با موفقیت تغییر کرد؛ نادرست در غیر این صورت

فرمان [-pVv] فرمان [ارگ ...]
دویدن فرمان با قوس سرکوب جستجوی تابع پوسته عادی. فقط ساخته شده
دستورات یا دستورات موجود در PATH اعدام می شوند. اگر -p گزینه داده شده است،
جستجو برای فرمان با استفاده از یک مقدار پیش فرض برای انجام می شود PATH است که
تضمین شده برای پیدا کردن تمام ابزارهای استاندارد. اگر یکی از -V or -v گزینه است
ارائه شده، شرحی از فرمان چاپ می شود. در -v گزینه باعث ایجاد یک کلمه واحد می شود
دستور یا نام فایل مورد استفاده برای فراخوانی را نشان می دهد فرمان نمایش داده شود؛ را -V
گزینه توضیحات مفصل تری ایجاد می کند. اگر -V or -v گزینه ارائه شده است،
وضعیت خروج 0 است اگر فرمان پیدا شد، و اگر نه. اگر هیچ کدام از گزینه ها وجود ندارد
عرضه شد و خطایی رخ داد یا فرمان یافت نمی شود، وضعیت خروج 127 است.
در غیر این صورت، وضعیت خروج از فرمان داخلی وضعیت خروج است فرمان.

compgen [انتخاب] [کلمه]
ایجاد مسابقات تکمیلی ممکن برای کلمه با توجه به انتخابs، که ممکن است
هر گزینه ای باشد که توسط کامل ساخته شده به استثنای -p و -rو
مطابقت ها را روی خروجی استاندارد بنویسید. هنگام استفاده از -F or -C گزینه ها،
متغیرهای پوسته مختلف توسط امکانات تکمیل قابل برنامه ریزی تنظیم می شوند، در حالی که
موجود است، مقادیر مفیدی نخواهد داشت.

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

مقدار برگشتی درست است، مگر اینکه گزینه نامعتبری ارائه شده باشد یا هیچ منطبقی وجود نداشته باشد
تولید شده

کامل [-abcdefgjksuv] [-o گزینه comp-option] [-DE] [-A اقدام] [-G globpat] [-W فهرست لغت] [-F
تابع] [-C فرمان]
[-X فیلترپات] [-P پیشوند] [-S پسوند] نام [نام ...]
کامل -pr [-DE] [نام ...]
نحوه آرگومان های هر کدام را مشخص کنید نام باید تکمیل شود. اگر -p گزینه است
ارائه شده است، یا اگر هیچ گزینه ای ارائه نشده است، مشخصات تکمیل موجود است
به گونه ای چاپ می شود که امکان استفاده مجدد از آنها به عنوان ورودی را فراهم می کند. در -r گزینه a را حذف می کند
مشخصات تکمیل برای هر کدام نام، یا اگر خیر نامs عرضه می شود، همه
مشخصات تکمیل در -D گزینه نشان می دهد که گزینه های باقی مانده و
اقدامات باید برای تکمیل فرمان «پیش‌فرض» اعمال شود. یعنی تکمیل
روی دستوری که قبلاً هیچ تکمیلی برای آن تعریف نشده بود، تلاش کرد. در -E
گزینه نشان می دهد که گزینه ها و اقدامات باقیمانده باید روی "خالی" اعمال شوند.
تکمیل فرمان؛ یعنی تلاش برای تکمیل در یک خط خالی.

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

سایر گزینه ها، در صورت مشخص شدن، معانی زیر را دارند. استدلال به -G,
-Wو -X گزینه ها (و در صورت لزوم، -P و -S گزینه ها) باید نقل قول شود
آنها را از گسترش قبل از کامل داخلی فراخوانی می شود.
-o گزینه comp-option
La گزینه comp-option چندین جنبه از رفتار compspec فراتر از آن را کنترل می کند
نسل ساده تکمیل ها گزینه comp-option ممکن است یکی از:
bashdefault
بقیه موارد پیش فرض را انجام دهید بر هم زدن تکمیل اگر compspec
هیچ مسابقه ای ایجاد نمی کند.
به طور پیش فرض اگر compspec از تکمیل نام فایل پیش‌فرض readline استفاده کنید
هیچ مسابقه ای ایجاد نمی کند.
dirnames
اگر compspec no ایجاد کند، نام دایرکتوری را تکمیل کنید
مسابقات.
نام فایل ها
به Readline بگویید که compspec نام فایل ها را تولید می کند، بنابراین می تواند
انجام هر گونه پردازش مخصوص نام فایل (مانند افزودن اسلش به
نام دایرکتوری ها، نقل کاراکترهای خاص یا سرکوب کردن
فضاهای دنباله دار). در نظر گرفته شده برای استفاده با توابع پوسته.
نقل قول به Readline بگویید در صورت وجود کلمات تکمیل شده، آنها را نقل قول نکند
نام فایل (نقل نام فایل پیش فرض است).
جای خالی وجود ندارد به Readline بگویید که به کلمات فاصله (پیش‌فرض) اضافه نکند
در انتهای خط تکمیل شد.
plusdirs
پس از ایجاد هر گونه مطابقت تعریف شده توسط compspec، دایرکتوری
تکمیل نام انجام می شود و هر گونه مطابقت به آن اضافه می شود
نتایج سایر اقدامات
-A اقدام
La اقدام ممکن است یکی از موارد زیر برای ایجاد لیستی از موارد ممکن باشد
تکمیل ها:
نام مستعار اسامی مستعار. همچنین ممکن است به عنوان مشخص شود -a.
آرایوار
نام متغیرهای آرایه
الزام آور خط خواندنی نام های اتصال کلید
خانه نام دستورات داخلی پوسته همچنین ممکن است به عنوان مشخص شود -b.
فرمان نام های فرمان همچنین ممکن است به عنوان مشخص شود -c.
فهرست راهنما
نام دایرکتوری ها همچنین ممکن است به عنوان مشخص شود -d.
غیر فعال
اسامی سازه های پوسته معلول.
فعال نام های ساخته شده پوسته فعال.
صادرات نام متغیرهای پوسته صادراتی همچنین ممکن است به عنوان مشخص شود -e.
پرونده نام فایل ها همچنین ممکن است به عنوان مشخص شود -f.
تابع
نام توابع پوسته
گروه نام گروه ها همچنین ممکن است به عنوان مشخص شود -g.
موضوع کمکی
موضوعات راهنما همانطور که توسط کمک ساخته شده
نام میزبان
نام هاست، همانطور که از فایل مشخص شده توسط HOSTFILE صدف
متغیر.
کار نام مشاغل، اگر کنترل شغل فعال باشد. همچنین ممکن است به عنوان مشخص شود -j.
کلمه کلیدی پوسته کلمات رزرو شده. همچنین ممکن است به عنوان مشخص شود -k.
در حال اجرا نام مشاغل در حال اجرا، در صورت فعال بودن کنترل شغل.
سرویس نام خدمات همچنین ممکن است به عنوان مشخص شود -s.
تنظیم استدلال های معتبر برای -o گزینه به تنظیم ساخته شده
خرید نام گزینه های پوسته به عنوان پذیرفته شده توسط خرید ساخته شده
سیگنال نام های سیگنال
متوقف شد نام مشاغل متوقف شده، در صورت فعال بودن کنترل شغل.
کاربر نام های کاربری همچنین ممکن است به عنوان مشخص شود -u.
متغیر
نام همه متغیرهای پوسته همچنین ممکن است به عنوان مشخص شود -v.
-C فرمان
فرمان در یک محیط زیر پوسته اجرا می شود و خروجی آن به عنوان استفاده می شود
تکمیل های احتمالی
-F تابع
عملکرد پوسته تابع در محیط پوسته فعلی اجرا می شود.
هنگامی که تابع اجرا می شود، اولین آرگومان ($1) نام آن است
دستوری که آرگومان های آن تکمیل می شود، آرگومان دوم ($2) است
کلمه در حال تکمیل و آرگومان سوم ($3) کلمه قبل است
کلمه در حال تکمیل در خط فرمان فعلی. وقتی تمام شد،
تکمیل های ممکن از مقدار بازیابی می شوند کامل کنید
متغیر آرایه
-G globpat
الگوی گسترش نام مسیر globpat برای ایجاد امکان گسترش یافته است
تکمیل
-P پیشوند
پیشوند پس از همه، در ابتدای هر تکمیل ممکن اضافه می شود
گزینه های دیگر اعمال شده است.
-S پسوند
پسوند به هر تکمیل ممکن پس از همه گزینه های دیگر اضافه می شود
اعمال شده است
-W فهرست لغت
La فهرست لغت با استفاده از کاراکترهای موجود در قسمت تقسیم می شود IFS متغیر ویژه به عنوان
جداکننده ها، و هر کلمه حاصل بسط می یابد. تکمیل های احتمالی
اعضای لیست حاصل هستند که با کلمه در حال تکمیل مطابقت دارند.
-X فیلترپات
فیلترپات الگویی است که برای بسط نام مسیر استفاده می شود. به آن اعمال می شود
لیست تکمیل‌های ممکن که توسط گزینه‌های قبلی و
آرگومان ها و تطبیق هر تکمیل فیلترپات از لیست حذف می شود.
یک پیشرو ! in فیلترپات الگو را نفی می کند؛ در این مورد، هر گونه تکمیل
مطابقت ندارد فیلترپات حذف شده است.

مقدار برگشتی درست است، مگر اینکه گزینه نامعتبر، گزینه ای غیر از
-p or -r بدون الف عرضه می شود نام استدلال، تلاش برای حذف a
مشخصات تکمیل برای a نام که هیچ مشخصات یا خطایی برای آن وجود ندارد
با افزودن یک مشخصات تکمیل رخ می دهد.

کمپوت [-o انتخاب] [-DE] [+o انتخاب] [نام]
گزینه های تکمیل را برای هر کدام تغییر دهید نام با توجه به انتخابs، یا برای
در حال اجرا تکمیل اگر خیر نامs عرضه می شوند. اگر نه انتخابs داده می شود،
نمایش گزینه های تکمیل برای هر کدام نام یا تکمیل فعلی در
مقادیر ممکن از انتخاب آیا آنهایی که برای کامل توکار توضیح داده شده در بالا
La -D گزینه نشان می دهد که گزینه های باقی مانده باید روی "پیش فرض" اعمال شوند.
تکمیل فرمان؛ به این معنا که برای دستوری که هیچ
تکمیل قبلاً تعریف شده است. در -E گزینه نشان می دهد که باقی مانده است
گزینه‌ها باید برای تکمیل فرمان «خالی» اعمال شوند. یعنی تلاش برای تکمیل
روی یک خط خالی

مقدار برگشتی درست است، مگر اینکه گزینه نامعتبری ارائه شود، تلاش شود
برای تغییر گزینه های a نام که هیچ مشخصات تکمیلی برای آن وجود ندارد، یا
یک خطای خروجی رخ می دهد

ادامه دادن [n]
تکرار بعدی را از سر بگیرید برای, در حین, تا، یا را انتخاب کنید حلقه اگر n
مشخص شده است، رزومه در nحلقه محصور کننده n باید ≥ 1 باشد. اگر n بزرگتر است
از تعداد حلقه های محصور، آخرین حلقه محصور ("سطح بالا"
حلقه) از سر گرفته می شود. مقدار بازگشتی 0 است مگر اینکه n بزرگتر یا مساوی نیست
1.

اعلام [-aAfFgilnrtux] [-p] [نام[=ارزش]...]
نوع [-aAfFgilnrtux] [-p] [نام[=ارزش]...]
متغیرها را اعلام کنید و/یا به آنها ویژگی بدهید. اگر نه نامs داده می شود سپس نمایش داده می شود
مقادیر متغیرها در -p گزینه ویژگی ها و مقادیر را نمایش می دهد
هر ناماست. وقتی که -p با استفاده می شود نام آرگومان ها، گزینه های اضافی، غیر از -f
و -F، نادیده گرفته می شوند. چه زمانی -p بدون عرضه می شود نام آرگومان ها، نمایش داده خواهد شد
ویژگی ها و مقادیر همه متغیرهایی که دارای ویژگی های مشخص شده توسط
گزینه های اضافی اگر هیچ گزینه دیگری با آن ارائه نشده است -p, اعلام نمایش داده می شود
ویژگی ها و مقادیر همه متغیرهای پوسته. در -f گزینه را محدود می کند
توابع نمایش به پوسته در -F گزینه نمایش عملکرد را مهار می کند
تعاریف؛ فقط نام تابع و ویژگی ها چاپ می شوند. اگر extdebug
با استفاده از گزینه shell فعال می شود خرید، نام فایل منبع و شماره خط که در آن
عملکرد تعریف شده نیز نمایش داده می شود. در -F گزینه دلالت دارد -f. -g
گزینه متغیرها را مجبور می‌کند تا در محدوده جهانی ایجاد یا اصلاح شوند، حتی زمانی که
اعلام در یک تابع پوسته اجرا می شود. در همه موارد دیگر نادیده گرفته می شود. در
گزینه های زیر را می توان برای محدود کردن خروجی به متغیرهایی با مقدار مشخص شده استفاده کرد
ویژگی یا دادن ویژگی به متغیرها:
-a هر یک نام یک متغیر آرایه نمایه شده است (نگاه کنید به آرایه ها در بالا).
-A هر یک نام یک متغیر آرایه انجمنی است (نگاه کنید به آرایه ها در بالا).
-f فقط از نام توابع استفاده کنید.
-i متغیر به عنوان یک عدد صحیح در نظر گرفته می شود. ارزیابی حسابی (نگاه کنید به حساب
ارزیابی فوق) زمانی انجام می شود که به متغیر یک مقدار اختصاص داده شود.
-l زمانی که به متغیر یک مقدار اختصاص داده می شود، همه کاراکترهای حروف بزرگ هستند
به حروف کوچک تبدیل شد ویژگی حروف بزرگ غیرفعال است.
-n به هرکدام بدهید نام la نامرف ویژگی، آن را به عنوان مرجع نام دیگری تبدیل می کند
متغیر. آن متغیر دیگر با مقدار تعریف می شود نام. همه
مراجع و تکالیف به نام، به جز تغییر در -n صفت
خود، بر روی متغیری که توسط آن ارجاع داده شده انجام می شود نامارزش در -n
ویژگی را نمی توان برای متغیرهای آرایه اعمال کرد.
-r ساخت نامفقط خواندنی سپس نمی توان به این نام ها مقادیری نسبت داد
بیانیه های تکلیف بعدی یا تنظیم نشده است.
-t به هرکدام بدهید نام la رد صفت. توابع ردیابی شده را به ارث می برند اشکال زدایی و
برگشت تله از پوسته فراخوان ویژگی trace هیچ خاصیت خاصی ندارد
معنی برای متغیرها
-u زمانی که به متغیر یک مقدار اختصاص داده می شود، همه کاراکترهای حروف کوچک هستند
به حروف بزرگ تبدیل شد ویژگی حروف کوچک غیرفعال است.
-x علامت نامs برای صادرات به دستورات بعدی از طریق محیط.

استفاده از «+» به جای «-» به جای «-» ویژگی را غیرفعال می‌کند، با استثناهایی که
+a ممکن است برای از بین بردن متغیر آرایه و +r فقط خواندنی را حذف نخواهد کرد
صفت. هنگامی که در یک تابع استفاده می شود، اعلام و نوع هر کدام را بسازید نام محلی، به عنوان
با محلی فرمان، مگر اینکه -g گزینه ارائه شده است. اگر نام متغیر باشد
به دنبال آن =ارزش، مقدار متغیر بر روی تنظیم شده است ارزش. هنگام استفاده از -a or -A
و نحو انتساب مرکب برای ایجاد متغیرهای آرایه، ویژگی های اضافی
تا تکالیف بعدی اعمال نشوند. مقدار بازگشتی 0 است مگر اینکه an
با گزینه نامعتبر مواجه می شود، تلاش می شود تا یک تابع با استفاده از ``-f تعریف شود
foo=bar''، تلاشی برای اختصاص یک مقدار به یک متغیر فقط خواندنی، یک تلاش انجام می‌شود
برای تخصیص یک مقدار به یک متغیر آرایه بدون استفاده از ترکیب ساخته شده است
نحو انتساب (نگاه کنید به آرایه ها بالا)، یکی از نام یک پوسته معتبر نیست
نام متغیر، سعی شده است وضعیت فقط خواندنی برای یک فقط خواندنی خاموش شود
متغیر، سعی می شود وضعیت آرایه برای یک متغیر آرایه یا an خاموش شود
سعی شده است یک تابع ناموجود با -f.

دیر [-clpv] [+n] [-n]
بدون گزینه، فهرستی از دایرکتوری های به یاد ماندنی را نمایش می دهد. در
نمایش پیش‌فرض در یک خط با نام‌های دایرکتوری که با فاصله از هم جدا شده‌اند قرار دارد.
دایرکتوری ها به لیست اضافه می شوند pushd فرمان؛ را پاپ دستور حذف می کند
ورودی های لیست
-c پشته دایرکتوری را با حذف همه ورودی ها پاک می کند.
-l با استفاده از نام مسیرهای کامل فهرستی را تولید می کند. فرمت فهرست پیش‌فرض از a استفاده می‌کند
tilde برای نشان دادن فهرست اصلی.
-p پشته دایرکتوری را با یک ورودی در هر خط چاپ کنید.
-v پشته دایرکتوری را با یک ورودی در هر خط چاپ کنید و هر ورودی را با پیشوند قرار دهید
شاخص آن در پشته
+n نمایش می دهد nشمارش ورودی از سمت چپ لیست نشان داده شده توسط دیر چه زمانی
بدون گزینه فراخوانی می شود و با صفر شروع می شود.
-n نمایش می دهد nشمارش ورودی از سمت راست لیست نشان داده شده توسط دیر
هنگامی که بدون گزینه فراخوانی می شود، با صفر شروع می شود.

مقدار بازگشتی 0 است مگر اینکه گزینه نامعتبری ارائه شود یا n شاخص های فراتر از
انتهای پشته دایرکتوری

طرد کردن [آری] [-h] [ویژگی شغلی ...]
بدون گزینه، هر کدام را حذف کنید ویژگی شغلی از جدول مشاغل فعال اگر ویژگی شغلی is
حاضر نیست، و نه -a و نه -r گزینه عرضه شده است، جاری کار is
استفاده شده. اگر -h گزینه داده شده است، هر کدام ویژگی شغلی از جدول حذف نمی شود، اما
به گونه ای مشخص شده است که چشم انداز اگر پوسته a را دریافت کند به کار ارسال نمی شود چشم انداز. اگر
نه ویژگی شغلی عرضه می شود، -a گزینه به معنای حذف یا علامت گذاری همه مشاغل است. را -r
گزینه بدون الف ویژگی شغلی آرگومان عملیات را به کارهای در حال اجرا محدود می کند. بازگشت
مقدار 0 است مگر اینکه a ویژگی شغلی شغل معتبری را مشخص نمی کند.

از دست [-neE] [ارگ ...]
خروجی ارگs، با فاصله از هم جدا شده و به دنبال آن یک خط جدید وجود دارد. وضعیت بازگشت است
0 مگر اینکه خطای نوشتن رخ دهد. اگر -n مشخص شده است، خط جدید دنباله دار است
سرکوب. اگر -e گزینه داده شده است، تفسیر بک اسلش زیر
کاراکترهای فرار فعال است. در -E گزینه تفسیر این موارد را غیرفعال می کند
کاراکترهای فرار، حتی در سیستم هایی که به طور پیش فرض تفسیر می شوند. در
xpg_echo گزینه shell ممکن است برای تعیین پویا یا خیر استفاده شود از دست
این کاراکترهای فرار را به طور پیش فرض گسترش می دهد. از دست تفسیر نمی کند -- به معنی
پایان گزینه ها از دست دنباله های فرار زیر را تفسیر می کند:
\a هشدار (زنگ)
\b پشت سر هم
\c خروجی بیشتر را سرکوب کنید
\e
\E یک شخصیت فراری
\f خوراک فرم
\n خط جدید
\r برگشت محموله
\t زبانه افقی
\v زبانه عمودی
\\ پشت سر هم
\0nnn کاراکتر هشت بیتی که مقدار آن مقدار هشت بیتی است nnn (صفر تا سه
ارقام هشتی)
\xHH کاراکتر هشت بیتی که مقدار آن مقدار هگزادسیمال است HH (یک یا دو
ارقام شش گوش)
\uهه هه کاراکتر یونیکد (ISO/IEC 10646) که مقدار آن مقدار هگزادسیمال است
هه هه (یک تا چهار رقم شش گوش)
\Uهههههههه
کاراکتر یونیکد (ISO/IEC 10646) که مقدار آن مقدار هگزادسیمال است
هههههههه (یک تا هشت رقم شش گوش)

قادر ساختن [-a] [-dnps] [-f نام فایل] [نام ...]
دستورات پوسته داخلی را فعال و غیرفعال کنید. غیرفعال کردن داخلی به دیسک اجازه می دهد
دستوری که همان نام یک پوسته داخلی است که بدون آن اجرا می شود
تعیین یک نام مسیر کامل، حتی اگر پوسته به طور معمول برای داخلی ها جستجو می کند
قبل از دستورات دیسک اگر -n استفاده می شود، هر نام غیر فعال است؛ در غیر این صورت، نام هستند
فعال شد. به عنوان مثال، برای استفاده از آزمون باینری یافت شده از طریق PATH به جای
نسخه داخلی پوسته، "enable -n test" را اجرا کنید. در -f گزینه به معنای بارگذاری جدید است
دستور داخلی نام از شی مشترک نام فایل، در سیستم هایی که از پویا پشتیبانی می کنند
بارگذاری. در -d گزینه داخلی که قبلا با آن بارگذاری شده را حذف می کند -f. اگر نه
نام استدلال داده می شود، یا اگر -p گزینه ارائه شده است، لیستی از اجزای داخلی پوسته
چاپ می شود. بدون هیچ آرگومان گزینه دیگری، لیست شامل تمام پوسته فعال است
ساخته شده اگر -n عرضه می شود، فقط داخلی های غیر فعال چاپ می شوند. اگر -a is
ارائه شده، لیست چاپ شده شامل تمام سازه‌های داخلی است، با اشاره به اینکه آیا یا
هر کدام فعال نیستند اگر -s عرضه می شود، خروجی به POSIX محدود می شود
ویژه ساخته شده مقدار بازگشتی 0 است مگر اینکه a نام یک پوسته ساخته شده یا نیست
هنگام بارگیری داخلی جدید از یک شی مشترک خطایی وجود دارد.

ارزیابی [ارگ ...]
La ارگs خوانده می شوند و در یک دستور واحد به هم الحاق می شوند. این دستور است
سپس توسط پوسته خوانده و اجرا می شود و وضعیت خروج آن به عنوان مقدار برگردانده می شود
of ارزیابی. اگر وجود ندارد قوس، یا فقط آرگومان های تهی، ارزیابی 0 برمی گرداند

exec [-کل] [-a نام] [فرمان [استدلال]]
If فرمان مشخص شده است، جایگزین پوسته می شود. هیچ فرآیند جدیدی ایجاد نمی شود. در
استدلال تبدیل به استدلال برای فرمان. اگر -l گزینه عرضه شده است، پوسته
یک خط تیره در ابتدای آرگومان صفر ارسال شده به فرمان. این هست
چی ورود(1) انجام می دهد. در -c گزینه علل فرمان با خالی اجرا شود
محیط. اگر -a تامین می شود، پوسته عبور می کند نام به عنوان استدلال صفر به
دستور اجرا شده اگر فرمان به دلایلی نمی توان اجرا کرد، غیر
پوسته تعاملی خارج می شود، مگر اینکه اجرا کردن گزینه پوسته فعال است. در آن
در این صورت، شکست را برمی گرداند. اگر فایل نتواند، یک پوسته تعاملی شکست را برمی‌گرداند
اعدام شود. اگر فرمان مشخص نشده است، هر تغییر مسیری در
پوسته فعلی، و وضعیت بازگشت 0 است. اگر خطای تغییر مسیر وجود داشته باشد،
وضعیت بازگشت 1 است.

خروج [n]
باعث خروج پوسته با وضعیت n. اگر n حذف شده است، وضعیت خروج است
آخرین دستور اجرا شده یک تله در خروج قبل از پوسته اجرا می شود
خاتمه می دهد

صادرات [-نه] [نام[=کلمه]]...
صادرات -p
عرضه شده نام برای صادرات خودکار به محیط مشخص شده اند
پس از آن دستورات اجرا شده است. اگر -f گزینه داده شده است، نام مراجعه کنید
کارکرد. اگر نه نام داده می شود، یا اگر -p گزینه ارائه شده است، لیستی از نام ها
از همه متغیرهای صادر شده چاپ شده است. در -n گزینه باعث می شود ویژگی صادرات به
از هر کدام حذف شود نام. اگر بعد از نام متغیر = = باشدکلمه، ارزش
متغیر تنظیم شده است کلمه. صادرات وضعیت خروج 0 را برمی گرداند مگر اینکه یک نامعتبر باشد
گزینه مواجه می شود، یکی از نام نام متغیر پوسته معتبر نیست، یا -f
با الف عرضه می شود نام که یک تابع نیست.

fc [-e مینا] [-lnr] [اول] [آخر]
fc -s [اهسته دست زدن به=هرزه] [CMD]
فرم اول طیفی از دستورات را انتخاب می کند اول به آخر از لیست تاریخ
و آنها را نمایش یا ویرایش و دوباره اجرا می کند. نام خانوادگی و آخر ممکن است به عنوان یک مشخص شود
رشته (برای تعیین مکان آخرین دستوری که با آن رشته شروع می شود) یا به عنوان یک عدد (an
در فهرست تاریخچه فهرست کنید، جایی که یک عدد منفی به عنوان یک افست از عدد استفاده می شود
شماره فرمان فعلی). اگر آخر مشخص نشده است روی دستور فعلی تنظیم شده است
برای فهرست کردن (به طوری که "fc -l -10" 10 دستور آخر را چاپ می کند) و به اول
در غیر این صورت. اگر اول مشخص نیست برای ویرایش روی دستور قبلی تنظیم شده است
و -16 برای فهرست.

La -n گزینه هنگام فهرست کردن، اعداد فرمان را سرکوب می کند. در -r گزینه معکوس می شود
ترتیب دستورات اگر -l گزینه داده شده است، دستورات در لیست شده است
خروجی استاندارد در غیر این صورت، ویرایشگر داده شده توسط مینا بر روی یک فایل فراخوانی می شود
حاوی آن دستورات اگر مینا داده نمی شود، ارزش FCEDIT متغیر
استفاده می شود، و ارزش تدوین if FCEDIT تنظیم نشده است. اگر هیچ کدام از متغیرها تنظیم نشده باشد،
vi استفاده می شود. پس از اتمام ویرایش، دستورات ویرایش شده تکرار می شوند و اجرا می شوند.

در شکل دوم، فرمان بعد از هر نمونه از دوباره اجرا می شود اهسته دست زدن به جایگزین شده است
by هرزه. فرمان به همان صورت تعبیر می شود اول در بالا. نام مستعار مفید برای استفاده با
این "r="fc -s"" است، به طوری که تایپ ``r cc' آخرین دستور را اجرا می کند که با شروع شروع می شود
"cc" و تایپ "r" آخرین دستور را دوباره اجرا می کند.

اگر از فرم اول استفاده شود، مقدار بازگشتی 0 است مگر اینکه گزینه نامعتبر باشد
مواجه شده یا اول or آخر خطوط تاریخ خارج از محدوده را مشخص کنید. اگر -e انتخاب
ارائه شده است، مقدار بازگشتی مقدار آخرین فرمان اجرا شده یا شکست است
اگر در فایل موقت دستورات خطایی رخ دهد. اگر شکل دوم باشد
استفاده می شود، وضعیت بازگشتی فرمان اجرای مجدد است، مگر اینکه CMD نمیکند
یک خط تاریخچه معتبر را مشخص کنید، در این صورت fc شکست را برمی گرداند.

fg [ویژگی شغلی]
ادامه ویژگی شغلی در پیش زمینه، و آن را به کار فعلی تبدیل کنید. اگر ویژگی شغلی نیست
در حال حاضر، مفهوم پوسته از جاری کار استفاده می شود. مقدار برگشتی این است
از دستوری که در پیش زمینه قرار می گیرد، یا اگر زمانی که کنترل کار اجرا می شود، شکست می خورد
غیرفعال یا، در صورت اجرا با کنترل کار فعال، اگر ویژگی شغلی معتبر را مشخص نمی کند
شغل یا ویژگی شغلی کاری را مشخص می کند که بدون کنترل کار شروع شده است.

گرفتن optstring نام [قوس]
گرفتن توسط رویه های پوسته برای تجزیه پارامترهای موقعیتی استفاده می شود. optstring
شامل کاراکترهای گزینه ای است که باید شناسایی شوند. اگر یک کاراکتر با a دنبال شود
دو نقطه، انتظار می رود گزینه دارای آرگومان باشد که باید از آن جدا شود
آن را با فضای سفید کاراکترهای دو نقطه و علامت سوال را نمی توان به عنوان استفاده کرد
شخصیت های گزینه هر بار که فراخوانی می شود، گرفتن گزینه بعدی را در
متغیر پوسته نام، مقداردهی اولیه نام اگر آن وجود نداشته باشد، و شاخص از
آرگومان بعدی که باید در متغیر پردازش شود OPTIND. OPTIND به 1 مقداردهی اولیه می شود
هر بار که پوسته یا اسکریپت پوسته فراخوانی می شود. هنگامی که یک گزینه نیاز به یک
بحث و جدل، گرفتن آن آرگومان را در متغیر قرار می دهد OPTARG. پوسته انجام می دهد
تنظیم مجدد نمی شود OPTIND بطور خودکار؛ باید به صورت دستی بین چند تماس به تنظیم مجدد شود
گرفتن در صورت استفاده از مجموعه پارامترهای جدیدی در همان فراخوانی پوسته.

هنگامی که انتهای گزینه ها مواجه شد، گرفتن با مقدار بازگشتی بیشتر خارج می شود
از صفر OPTIND به شاخص اولین آرگومان غیر گزینه ای تنظیم می شود و نام
تنظیم شده است به ?.

گرفتن معمولاً پارامترهای موقعیتی را تجزیه می کند، اما اگر آرگومان های بیشتری داده شود
in قوس, گرفتن در عوض آن ها را تجزیه می کند.

گرفتن می تواند خطاها را به دو صورت گزارش کند. اگر شخصیت اول از optstring هست یک
روده بزرگ، خاموش گزارش خطا استفاده می شود. در عملکرد عادی، پیام های تشخیصی
زمانی که گزینه های نامعتبر یا آرگومان های گزینه از دست رفته مواجه می شوند چاپ می شوند. اگر
متغیر OPTERR روی 0 تنظیم شده است، هیچ پیام خطایی نمایش داده نخواهد شد، حتی اگر
شخصیت اول از optstring روده بزرگ نیست

در صورت مشاهده گزینه نامعتبر، گرفتن مکان ها؟ به نام و اگر بی صدا نباشد، چاپ می کند
پیغام خطا می دهد و تنظیم نمی شود OPTARG. اگر گرفتن ساکت است، کاراکتر گزینه
یافت شده در قرار می گیرد OPTARG و هیچ پیام تشخیصی چاپ نمی شود.

اگر آرگومان مورد نیاز پیدا نشد، و گرفتن ساکت نیست، علامت سوال (?)
در قرار داده شده است نام, OPTARG تنظیم نشده است و یک پیام تشخیصی چاپ می شود. اگر
گرفتن ساکت است، سپس یک کولون (:) در قرار می گیرد نام و OPTARG روی تنظیم شده است
کاراکتر گزینه پیدا شد

گرفتن اگر گزینه ای مشخص یا نامشخص پیدا شود true را برمی گرداند. برمی گردد
اگر انتهای گزینه ها مواجه شود یا خطایی رخ دهد false.

مخلوط [-لر] [-p نام فایل] [-dt] [نام]
هر زمان مخلوط فراخوانی می شود، نام مسیر کامل دستور نام توسط تعیین می شود
جستجو در دایرکتوری ها در $ PATH و به یاد آورد. هر چیزی که قبلاً به خاطر سپرده شده است
نام مسیر حذف شده است. اگر -p گزینه ارائه شده است، هیچ جستجوی مسیری انجام نمی شود،
و نام فایل به عنوان نام فایل کامل دستور استفاده می شود. در -r گزینه باعث می شود
پوسته ای برای فراموش کردن همه مکان های به خاطر سپرده شده. را -d گزینه باعث می شود پوسته فراموش شود
مکان به خاطر سپردن هر کدام نام. اگر -t گزینه کامل عرضه شده است
نام مسیر که هر کدام نام مربوطه چاپ می شود. اگر چندتایی باشد نام استدلال ها هستند
عرضه شده با -tاز نام قبل از نام مسیر کامل هش شده چاپ می شود. در -l
گزینه باعث می شود خروجی در قالبی نمایش داده شود که ممکن است مجدداً به عنوان ورودی استفاده شود. اگر
هیچ استدلالی داده نمی شود، یا اگر فقط -l ارائه شده است، اطلاعات در مورد به خاطر سپردن
دستورات چاپ می شود وضعیت بازگشت درست است مگر اینکه a نام یافت نمی شود یا یک
گزینه نامعتبر ارائه شده است.

کمک [-dms] [الگو]
نمایش اطلاعات مفید در مورد دستورات داخلی. اگر الگو مشخص شده است، کمک
راهنمایی دقیق در مورد تطبیق همه دستورات می دهد الگو; در غیر این صورت برای همه کمک کنید
توده ها و ساختارهای کنترل پوسته چاپ شده است.
-d توضیح مختصری از هر کدام را نمایش دهید الگو
-m نمایش توضیحات هر کدام الگو در قالبی مانند manpage
-s فقط یک خلاصه استفاده کوتاه برای هر کدام نمایش دهید الگو

وضعیت بازگشت 0 است مگر اینکه هیچ فرمانی مطابقت نداشته باشد الگو.

تاریخ [n]
تاریخ -c
تاریخ -d چاپ افست
تاریخ -anrw [نام فایل]
تاریخ -p ارگ [ارگ ...]
تاریخ -s ارگ [ارگ ...]
بدون هیچ گزینه ای، لیست تاریخچه فرمان را با شماره خطوط نمایش دهید. خطوط ذکر شده است
با یک * اصلاح شده اند. یک استدلال از n فقط آخرین مورد را فهرست می کند n خطوط اگر
متغیر پوسته فرمت زمان تاریخ تنظیم شده است و null نیست، به عنوان یک رشته قالب استفاده می شود
برای زمان صرف وقت(3) برای نمایش مهر زمانی مرتبط با هر تاریخچه نمایش داده شده
ورود هیچ جای خالی میانی بین مهر زمان فرمت شده و علامت چاپ نمی شود
خط تاریخ اگر نام فایل ارائه شده است، از آن به عنوان نام فایل تاریخچه استفاده می شود.
اگر نه، ارزش HISTFILE استفاده می شود. گزینه ها، در صورت ارائه، موارد زیر را دارند
معانی:
-c لیست تاریخچه را با حذف تمام ورودی ها پاک کنید.
-d چاپ افست
ورودی تاریخچه در موقعیت را حذف کنید چاپ افست.
-a خطوط تاریخچه "جدید" را اضافه کنید (خطوط تاریخچه از ابتدا وارد شده اند
از جریان بر هم زدن session) به فایل تاریخچه.
-n خطوط تاریخچه را که قبلاً از فایل تاریخچه خوانده نشده‌اند، بخوانید
لیست تاریخ فعلی اینها خطوطی هستند که از آن زمان به فایل تاریخچه اضافه شده اند
آغاز جریان بر هم زدن جلسه
-r محتویات فایل تاریخچه را بخوانید و آنها را به تاریخچه فعلی اضافه کنید
فهرست
-w لیست تاریخچه فعلی را در فایل تاریخچه بنویسید و تاریخچه را بازنویسی کنید
محتویات فایل
-p تعویض تاریخچه را در موارد زیر انجام دهید قوس و نتیجه را روشن کنید
خروجی استاندارد نتایج را در لیست تاریخچه ذخیره نمی کند. هر یک
ارگ برای غیرفعال کردن گسترش سابقه عادی باید نقل قول شود.
-s ذخیره کنید قوس در فهرست تاریخ به عنوان یک ورودی. آخرین دستور در
لیست تاریخچه قبل از حذف حذف می شود قوس اضافه می شوند

اگر فرمت زمان تاریخ متغیر تنظیم شده است، اطلاعات مهر زمانی مرتبط با
هر مدخل تاریخچه در فایل تاریخچه نوشته می شود که با نظر تاریخچه مشخص شده است
شخصیت. وقتی فایل تاریخچه خوانده می شود، خطوطی که با کامنت تاریخ شروع می شوند
کاراکتری که بلافاصله با یک رقم همراه شود به عنوان مهر زمانی برای آن تفسیر می شود
خط تاریخ قبلی مقدار برگشتی 0 است مگر اینکه گزینه نامعتبر باشد
در هنگام خواندن یا نوشتن فایل تاریخچه خطایی رخ می دهد که نامعتبر است
چاپ افست به عنوان یک استدلال برای ارائه شده است -d، یا بسط تاریخ ارائه شده به عنوان یک
استدلال به -p شکست می خورد

شغل ها [-lnprs] [ ویژگی شغلی ...]
شغل ها -x فرمان [ قوس ...]
فرم اول مشاغل فعال را فهرست می کند. گزینه ها دارای معانی زیر هستند:
-l علاوه بر اطلاعات عادی، شناسه‌های فرآیند را فهرست کنید.
-n نمایش اطلاعات فقط در مورد مشاغلی که از زمان کاربر تغییر وضعیت داده اند
آخرین بار از وضعیت آنها مطلع شد.
-p فقط شناسه فرآیند رهبر گروه فرآیند کار را فهرست کنید.
-r فقط کارهای در حال اجرا را نمایش دهید.
-s نمایش فقط کارهای متوقف شده

If ویژگی شغلی داده می شود، خروجی به اطلاعات مربوط به آن شغل محدود می شود. را
وضعیت بازگشت 0 است مگر اینکه گزینه نامعتبر یا نامعتبر باشد ویژگی شغلی is
تهیه شده

اگر -x گزینه ارائه شده است، شغل ها جایگزین هر ویژگی شغلی موجود در فرمان or قوس
با شناسه گروه فرآیند مربوطه، و اجرا می کند فرمان عبور از آن قوس,
وضعیت خروج خود را برمی گرداند.

کشتن [-s sigspec | -n امضا | -sigspec] [pid | ویژگی شغلی]...
کشتن -l [sigspec | وضعیت_خروجی]
سیگنال نامگذاری شده توسط را ارسال کنید sigspec or امضا به فرآیندهای نامگذاری شده توسط pid or
ویژگی شغلی. sigspec یا یک نام سیگنال غیر حساس به حروف بزرگ و کوچک است مانند SIGKILL (با یا
بدون SIG پیشوند) یا یک شماره سیگنال؛ امضا یک شماره سیگنال است اگر sigspec
پس وجود ندارد مدت هدف مفروض است. یک استدلال از -l نام سیگنال ها را فهرست می کند.
اگر آرگومان هایی ارائه شود که چه زمانی -l داده شده است، نام سیگنال ها
مربوط به آرگومان ها لیست شده اند و وضعیت بازگشتی 0 است
وضعیت_خروجی استدلال به -l عددی است که شماره سیگنال یا عدد را مشخص می کند
وضعیت خروج از فرآیندی که توسط یک سیگنال خاتمه می یابد. کشتن اگر حداقل یکی باشد true برمی گرداند
سیگنال با موفقیت ارسال شد، یا اگر خطایی رخ دهد یا گزینه نامعتبر باشد، نادرست است
مواجه شده.

اجازه ارگ [ارگ ...]
هر یک ارگ یک عبارت حسابی است که باید ارزیابی شود (نگاه کنید به حساب ارزیابی
در بالا). اگر آخرین ارگ به 0 ارزیابی می کند، اجازه برمی گرداند 1; 0 در غیر این صورت برگردانده می شود.

محلی [انتخاب] [نام[=ارزش]...]
برای هر آرگومان، یک متغیر محلی به نام نام ایجاد می شود، و اختصاص داده می شود ارزش.
انتخاب می تواند هر یک از گزینه های پذیرفته شده توسط اعلاماست. وقتی که محلی در داخل a استفاده می شود
تابع، باعث ایجاد متغیر می شود نام برای داشتن یک محدوده قابل مشاهده محدود به آن
عملکرد و فرزندان آن بدون عملوند، محلی فهرستی از محلی می نویسد
متغیرها به خروجی استاندارد استفاده از آن یک خطا است محلی زمانی که در یک
عملکرد. وضعیت بازگشت 0 است مگر اینکه محلی خارج از یک تابع، an
بی اعتبار نام عرضه می شود، یا نام یک متغیر فقط خواندنی است.

خروج از سیستم از پوسته ورود خارج شوید.

نقشه فایل [-n تعداد دفعات مشاهده] [-O منشاء] [-s تعداد دفعات مشاهده] [-t] [-u fd] [-C فراخوان] [-c کوانتوم] [صف]
آرایه خواندنی [-n تعداد دفعات مشاهده] [-O منشاء] [-s تعداد دفعات مشاهده] [-t] [-u fd] [-C فراخوان] [-c کوانتوم]
[صف]
خطوط را از ورودی استاندارد در متغیر آرایه نمایه شده بخوانید صف، و یا از
توصیف کننده فایل fd اگر -u گزینه ارائه شده است. متغیر MAPFILE هست
به طور پیش فرض صف. گزینه‌ها، در صورت ارائه، معانی زیر را دارند:
-n حداکثر کپی کنید تعداد دفعات مشاهده خطوط اگر تعداد دفعات مشاهده 0 است، تمام خطوط کپی شده است.
-O شروع به تخصیص به صف در شاخص منشاء. شاخص پیش فرض 0 است.
-s اولی را دور بریزید تعداد دفعات مشاهده خطوط خوانده شده
-t یک خط جدید آخر را از هر خط خوانده شده حذف کنید.
-u خواندن خطوط از توصیف فایل fd به جای ورودی استاندارد
-C ارزیابی فراخوان هر زمان کوانتوم خطوط خوانده می شود در -c گزینه را مشخص می کند
کوانتوم.
-c تعداد خطوط خوانده شده بین هر تماس را مشخص کنید فراخوان.

If -C بدون مشخص شده است -c، کوانتوم پیش فرض 5000 است فراخوان is
ارزیابی شده، شاخص عنصر آرایه بعدی که باید تخصیص داده شود و
خطی که به عنوان آرگومان های اضافی به آن عنصر اختصاص داده می شود. فراخوان is
پس از خواندن خط اما قبل از اختصاص عنصر آرایه ارزیابی می شود.

اگر با منشاء صریح ارائه نشده باشد، نقشه فایل پاک خواهد شد صف قبل از واگذاری
به آن است.

نقشه فایل با موفقیت برمی گردد مگر اینکه یک گزینه یا آرگومان گزینه نامعتبر باشد
عرضه شده، صف نامعتبر یا غیر قابل واگذاری است، یا اگر صف یک آرایه نمایه شده نیست.

پاپ [-n] [+n] [-n]
ورودی ها را از پشته دایرکتوری حذف می کند. بدون هیچ آرگومان، قسمت بالایی را حذف می کند
دایرکتوری از پشته، و a را انجام می دهد cd به دایرکتوری برتر جدید استدلال ها،
در صورت ارائه، معانی زیر را داشته باشند:
-n هنگام حذف دایرکتوری ها از دایرکتوری، تغییر عادی دایرکتوری را سرکوب می کند
پشته، به طوری که فقط پشته دستکاری می شود.
+n را حذف می کند nشمارش ورودی از سمت چپ لیست نشان داده شده توسط دیر,
شروع با صفر به عنوان مثال: "popd +0" اولین دایرکتوری را حذف می کند،
"popd +1" دومی.
-n را حذف می کند nشمارش ورودی از سمت راست لیست نشان داده شده توسط دیر,
شروع با صفر به عنوان مثال: "popd -0" آخرین فهرست را حذف می کند،
"popd -1" بعدی به آخرین.

اگر پاپ فرمان موفقیت آمیز است، a دیر نیز انجام می شود و بازگشت
وضعیت 0 است. پاپ در صورت مواجهه با گزینه نامعتبر، دایرکتوری، false را برمی گرداند
پشته خالی است، یک ورودی پشته دایرکتوری موجود نیست، یا دایرکتوری مشخص شده است
تغییر شکست می خورد

printf [-v VAR] قالب [استدلال]
فرمت شده را بنویسید استدلال به خروجی استاندارد تحت کنترل
قالب. -v گزینه باعث می شود که خروجی به متغیر اختصاص یابد VAR نسبتا
نسبت به چاپ در خروجی استاندارد.

La قالب یک رشته کاراکتری است که شامل سه نوع شی است: plain
کاراکترهایی که به سادگی در خروجی استاندارد، دنباله های فرار کاراکتر کپی می شوند،
که به خروجی استاندارد و مشخصات فرمت تبدیل و کپی می شوند،
که هر کدام باعث چاپ بعدی متوالی می شود استدلال. علاوه بر
استاندارد printf(1) مشخصات قالب، printf زیر را تفسیر می کند
پسوندها:
%b علل printf برای گسترش دنباله های فرار بک اسلش در متن مربوطه
استدلال (غیر از آن \c خروجی را خاتمه می دهد، به عقب اسلش می کند \', \"و \?
حذف نمی شوند و اکتال با شروع فرار می کند \0 ممکن است تا چهار مورد را شامل شود
ارقام).
%q علل printf برای خروجی مربوطه استدلال در قالبی که می تواند باشد
استفاده مجدد به عنوان ورودی پوسته
%(datefmt)T
علل printf برای خروجی رشته تاریخ-زمان حاصل از استفاده datefmt as
یک رشته قالب برای زمان صرف وقت(3). مربوطه استدلال یک عدد صحیح است
نشان دهنده تعداد ثانیه های پس از آن دوران است. دو استدلال خاص
ممکن است از مقادیر استفاده شود: -1 نشان دهنده زمان فعلی و -2 نشان دهنده زمان است
زمانی که پوسته فراخوانی شد. اگر هیچ آرگومانی مشخص نشده باشد، تبدیل رفتار می کند
انگار -1 داده شده بود. این یک استثنا از معمول است printf رفتار.

آرگومان های مشخص کننده های فرمت غیر رشته ای به عنوان ثابت C در نظر گرفته می شوند، با این تفاوت که a
علامت مثبت یا منفی اصلی مجاز است و اگر کاراکتر اصلی یک یا باشد
دو نقل قول، مقدار مقدار ASCII کاراکتر زیر است.

La قالب در صورت لزوم برای مصرف همه از دوباره استفاده می شود استدلال. اگر قالب
بیشتر نیاز دارد استدلال مشخصات فرمت اضافی نسبت به آنچه ارائه شده است رفتار می کنند
گویی یک مقدار صفر یا رشته تهی، در صورت لزوم، ارائه شده است. بازگشت
ارزش صفر در موفقیت و غیر صفر در شکست است.

pushd [-n] [+n] [-n]
pushd [-n] [دیر]
دایرکتوری را به بالای پشته دایرکتوری اضافه می کند یا پشته را می چرخاند و می سازد
بالای جدید پشته فهرست کاری فعلی. بدون هیچ استدلالی،
دو دایرکتوری بالا را مبادله می کند و 0 را برمی گرداند، مگر اینکه پشته دایرکتوری باشد
خالی. استدلال ها در صورت ارائه، معانی زیر را دارند:
-n هنگام افزودن دایرکتوری ها به دایرکتوری، تغییر عادی دایرکتوری را سرکوب می کند
پشته، به طوری که فقط پشته دستکاری می شود.
+n پشته را می چرخاند به طوری که nدایرکتوری هفتم (شمارش از سمت چپ
لیست نشان داده شده توسط دیر، که با صفر شروع می شود) در بالا قرار دارد.
-n پشته را می چرخاند به طوری که nدایرکتوری هفتم (شمارش از سمت راست
لیست نشان داده شده توسط دیر، که با صفر شروع می شود) در بالا قرار دارد.
دیر می افزاید: دیر به پشته دایرکتوری در بالا، آن را به جریان جدید تبدیل می کند
دایرکتوری کار می کند که انگار به عنوان آرگومان به آن ارائه شده است cd
ساخته شده

اگر pushd فرمان موفقیت آمیز است، a دیر نیز انجام می شود. اگر فرم اول
استفاده می شود، pushd 0 را برمی گرداند مگر اینکه سی دی به دیر شکست می خورد. با فرم دوم، pushd
0 را برمی گرداند مگر اینکه پشته دایرکتوری خالی باشد، یک پشته دایرکتوری موجود نیست
عنصر مشخص شده است یا دایرکتوری به جریان جدید مشخص شده تغییر می کند
دایرکتوری خراب می شود

pwd [-LP]
نام مسیر مطلق دایرکتوری فعلی را چاپ کنید. نام مسیر چاپ شده است
حاوی هیچ پیوند نمادینی نیست اگر -P گزینه عرضه شده است یا -o فیزیکی انتخاب
به تنظیم دستور داخلی فعال است. اگر -L از گزینه استفاده می شود، نام مسیر
چاپ شده ممکن است حاوی پیوندهای نمادین باشد. وضعیت بازگشت 0 است مگر اینکه خطایی رخ دهد
هنگام خواندن نام دایرکتوری فعلی یا یک گزینه نامعتبر ارائه می شود.

خواندن [-ers] [-a نام] [-d گول زدن] [-i متن] [-n nchars] [-N nchars] [-p سریع] [-t
فاصله] [-u fd] [نام ...]
یک خط از ورودی استاندارد یا از توصیفگر فایل خوانده می شود fd عرضه شده است
به عنوان استدلالی برای -u گزینه، و کلمه اول به اولی اختصاص داده می شود نام,
کلمه دوم به دوم نامو غیره با کلمات باقی مانده و آنها
جداکننده های مداخله گر اختصاص داده شده به آخرین نام. اگر تعداد کلمات کمتر است بخوانید
از جریان ورودی از نام ها، به نام های باقی مانده مقادیر خالی اختصاص داده می شود.
شخصیت های موجود در IFS برای تقسیم خط به کلمات با استفاده از قوانین مشابه استفاده می شود
پوسته برای انبساط استفاده می کند (در زیر توضیح داده شد کلمه فتق). بک اسلش
شخصیت (\) ممکن است برای حذف هر معنای خاصی برای کاراکتر بعدی خوانده شده استفاده شود
و برای ادامه خط گزینه‌ها، در صورت ارائه، معانی زیر را دارند:
-a نام
کلمات به شاخص های متوالی متغیر آرایه اختصاص داده می شوند نام,
از 0 شروع می شود. نام قبل از تخصیص مقادیر جدید تنظیم نشده است. دیگر
نام استدلال ها نادیده گرفته می شوند.
-d گول زدن
شخصیت اول از گول زدن برای پایان دادن به خط ورودی استفاده می شود
از خط جدید
-e اگر ورودی استاندارد از یک ترمینال می آید، خط خواندن (نگاه کنید به READLINE
بالا) برای به دست آوردن خط استفاده می شود. Readline از جریان (یا پیش فرض،
اگر ویرایش خط قبلاً فعال نبود) تنظیمات ویرایش.
-i متن
If خط خواندن برای خواندن خط استفاده می شود، متن در ویرایش قرار می گیرد
بافر قبل از شروع ویرایش
-n nchars
خواندن پس از خواندن برمی گردد nchars شخصیت ها به جای اینکه منتظر الف باشند
خط ورودی کامل است، اما اگر کمتر از آن باشد، به یک جداکننده احترام بگذارید nchars
کاراکترها قبل از جداکننده خوانده می شوند.
-N nchars
خواندن بعد از خواندن دقیقا برمی گردد nchars شخصیت ها به جای انتظار
یک خط کامل ورودی، مگر اینکه با EOF یا خواندن زمان تمام شد.
کاراکترهای جداکننده که در ورودی با آنها مواجه می‌شوند، به‌طور ویژه رفتار نمی‌شوند و
ایجاد نکنید خواندن برای بازگشت تا nchars شخصیت ها خوانده می شوند
-p سریع
نمایش دادن سریع در خطای استاندارد، بدون خط جدید، قبل از
تلاش برای خواندن هر ورودی اعلان فقط در صورتی نمایش داده می شود که ورودی باشد
از یک ترمینال می آید
-r بک اسلش به عنوان یک شخصیت فرار عمل نمی کند. بک اسلش در نظر گرفته شده است
بخشی از خط بودن به طور خاص، یک جفت بک اسلش-خط جدید ممکن است نباشد
به عنوان ادامه خط استفاده می شود.
-s حالت بی صدا. اگر ورودی از ترمینال باشد، کاراکترها تکرار نمی شوند.
-t فاصله
علت خواندن در صورت وجود خط کامل ورودی (یا a
تعداد مشخص شده نویسه) در داخل خوانده نمی شود فاصله ثانیه صورت گرفت. فاصله
ممکن است یک عدد اعشاری با بخش کسری پس از اعشار باشد
نقطه. این گزینه فقط در صورتی موثر است که خواندن در حال خواندن ورودی از a است
ترمینال، لوله، یا فایل خاص دیگر؛ هنگام خواندن از هیچ تاثیری ندارد
فایل های معمولی اگر خواندن زمان تمام شد، خواندن هر ورودی جزئی خوانده شده را ذخیره می کند
متغیر مشخص شده نام. اگر فاصله 0 است ، خواندن بلافاصله برمی گردد،
بدون تلاش برای خواندن هیچ داده ای. اگر ورودی موجود باشد، وضعیت خروج 0 است
در توصیفگر فایل مشخص شده، غیر صفر در غیر این صورت. وضعیت خروج است
بیشتر از 128 در صورت تجاوز از مهلت زمانی.
-u fd خواندن ورودی از توصیفگر فایل fd.

اگر نه نام ارائه می شود، خط خوانده شده به متغیر اختصاص داده می شود پاسخ.
کد برگشتی صفر است، مگر اینکه با انتهای فایل مواجه شود، خواندن تایم اوت (که در آن
در صورتی که کد برگشتی بزرگتر از 128 باشد، خطای انتساب متغیر (مانند
اختصاص دادن به یک متغیر فقط خواندنی) رخ می دهد، یا یک توصیف کننده فایل نامعتبر ارائه می شود
به عنوان استدلال به -u.

فقط خواندنی [-aAf] [-p] [نام[=کلمه]...]
داده شده نام فقط خواندنی علامت گذاری شده اند. ارزش های اینها نام ممکن است تغییر نکند
با تکلیف بعدی اگر -f گزینه ارائه شده است، توابع
مربوط به نام بسیار مشخص شده اند. در -a گزینه متغیرها را محدود می کند
آرایه های نمایه شده؛ را -A گزینه متغیرها را به آرایه های انجمنی محدود می کند. اگر
هر دو گزینه ارائه شده است، -A اولویت دارد. اگر نه نام استدلال ارائه شده است، یا
اگر -p گزینه ارائه می شود، لیستی از تمام نام های فقط خواندنی چاپ می شود. دیگری
گزینه ها ممکن است برای محدود کردن خروجی به زیر مجموعه ای از مجموعه فقط خواندنی استفاده شوند
نام ها در -p این گزینه باعث می شود خروجی در قالبی نمایش داده شود که ممکن است مجددا استفاده شود
به عنوان ورودی اگر بعد از نام متغیر = = باشدکلمه، مقدار متغیر است
مجموعه را به کلمه. وضعیت بازگشت 0 است مگر اینکه با یک گزینه نامعتبر روبرو شود، یک
از نام نام متغیر پوسته معتبر نیست، یا -f با الف عرضه می شود نام که
یک تابع نیست

برگشت [n]
باعث توقف اجرای یک تابع و برگرداندن مقدار مشخص شده توسط n به آن
تماس گیرنده اگر n حذف شده است، وضعیت بازگشت آخرین فرمان اجرا شده در آن است
بدن عملکرد اگر برگشت خارج از یک تابع، اما در هنگام اجرای a استفاده می شود
فیلمنامه توسط . (منبع) دستور، باعث می شود که شل اجرای آن را متوقف کند
اسکریپت و بازگشت یا n یا وضعیت خروج آخرین فرمان اجرا شده در داخل
اسکریپت به عنوان وضعیت خروج از اسکریپت. اگر n عرضه شده است، مقدار بازگشتی است
کم اهمیت ترین 8 بیت است. وضعیت بازگشت غیر صفر است اگر برگشت عرضه می شود
یک آرگومان غیر عددی یا خارج از یک تابع و نه در هنگام اجرای a استفاده می شود
اسکریپت توسط . or منبع. هر دستور مرتبط با برگشت trap اجرا می شود
قبل از از سرگیری اجرا پس از تابع یا اسکریپت.

تنظیم [--abefhkmnptuvxBCEHPT] [-o گزینه-نام] [ارگ ...]
تنظیم [+abefhkmnptuvxBCEHPT] [+o گزینه-نام] [ارگ ...]
بدون گزینه، نام و مقدار هر متغیر پوسته در a نمایش داده می شود
قالبی که می تواند به عنوان ورودی برای تنظیم یا بازنشانی تنظیمات فعلی استفاده شود
متغیرها متغیرهای فقط خواندنی قابل بازنشانی نیستند. که در پوزيكس حالت، فقط پوسته
متغیرها فهرست شده اند. خروجی بر اساس محلی فعلی مرتب شده است. چه زمانی
گزینه‌ها مشخص شده‌اند، ویژگی‌های پوسته را تنظیم یا تنظیم می‌کنند. هر گونه استدلال باقی مانده است
پس از پردازش گزینه به عنوان مقادیری برای پارامترهای موقعیتی در نظر گرفته می شوند و هستند
اختصاص داده شده، به منظور، به $1, $2, ... $n. گزینه ها، در صورت مشخص شدن، موارد زیر را دارند
معانی:
-a به طور خودکار متغیرها و توابعی را که اصلاح یا ایجاد شده اند علامت گذاری کنید
برای صادرات به محیط دستورات بعدی.
-b به جای اینکه وضعیت مشاغل پس زمینه خاتمه یافته را فوراً گزارش دهید
قبل از اعلان اولیه بعدی این تنها زمانی موثر است که کنترل شغل باشد
فعال شده است
-e اگر a. فورا خارج شوید خط لوله (که ممکن است از یک واحد تشکیل شده باشد ساده
فرمان)، یک فهرست، و یا یک ترکیب فرمان (نگاه کنید به پوسته دستور زبان بالا)، خارج می شود
با وضعیت غیر صفر اگر دستوری که شکست بخورد، پوسته خارج نمی شود
بخشی از لیست دستورات بلافاصله پس از a است در حین or تا کلمه کلیدی،
بخشی از آزمون به دنبال if or الیف کلمات رزرو شده، بخشی از هر کدام
دستور اجرا شده در a && or || لیست به جز دستور زیر نهایی
&& or ||، هر دستوری در خط لوله به جز آخرین فرمان، یا اگر فرمان باشد
مقدار بازگشتی با آن معکوس می شود !. اگر دستور مرکب غیر از a
زیر پوسته وضعیت غیر صفر را برمی‌گرداند زیرا یک فرمان در حالی که شکست خورده است -e بود
با نادیده گرفتن، پوسته خارج نمی شود. یک تله در ERR، در صورت تنظیم، اجرا می شود
قبل از خروج پوسته این گزینه برای محیط پوسته و
هر محیط زیر پوسته به طور جداگانه (نگاه کنید به COMMAND اعدام محیط زیست
در بالا)، و ممکن است باعث شود که زیر پوسته ها قبل از اجرای همه دستورات خارج شوند
در زیر پوسته

اگر یک دستور مرکب یا تابع پوسته در زمینه ای اجرا شود که در آن -e is
با نادیده گرفتن، هیچ یک از دستورات در دستور مرکب یا اجرا نمی شوند
بدن عملکرد تحت تاثیر قرار خواهد گرفت -e تنظیم، حتی اگر -e تنظیم شده است و الف
فرمان وضعیت شکست را برمی‌گرداند. اگر یک دستور مرکب یا تابع پوسته باشد
مجموعه -e در حین اجرا در زمینه ای که -e نادیده گرفته می شود، آن تنظیم خواهد شد
تا دستور مرکب یا فرمان حاوی هیچ تاثیری ندارد
فراخوانی تابع کامل می شود.
-f غیرفعال کردن گسترش نام مسیر
-h هنگام جستجوی دستورات برای اجرا، مکان آنها را به خاطر بسپارید.
این به طور پیش فرض فعال است.
-k همه آرگومان ها در قالب عبارات انتساب در قسمت قرار می گیرند
محیط یک فرمان، نه فقط آنهایی که قبل از نام فرمان هستند.
-m حالت مانیتور. کنترل کار فعال است. این گزینه به طور پیش فرض برای
پوسته های تعاملی روی سیستم هایی که از آن پشتیبانی می کنند (نگاه کنید به شغل کنترل در بالا). همه
فرآیندها در یک گروه فرآیند جداگانه اجرا می شوند. وقتی یک کار پس زمینه
تکمیل می شود، پوسته یک خط حاوی وضعیت خروج آن را چاپ می کند.
-n دستورات را بخوانید اما آنها را اجرا نکنید. این ممکن است برای بررسی یک پوسته استفاده شود
اسکریپت برای خطاهای نحوی این توسط پوسته های تعاملی نادیده گرفته می شود.
-o گزینه-نام
La گزینه-نام می تواند یکی از موارد زیر باشد:
الکسپورت
مثل -a.
braceexpand
مثل -B.
ایمکس از رابط ویرایش خط فرمان به سبک emacs استفاده کنید. این فعال است
به طور پیش فرض زمانی که پوسته تعاملی است، مگر اینکه پوسته باشد
شروع شده با -- بدون ویرایش گزینه. این هم روی ویرایش اثر می گذارد
رابط مورد استفاده برای خواندن -e.
errexit مثل -e.
اشتباه کردن
مثل -E.
تابع
مثل -T.
هال مثل -h.
histexpand
مثل -H.
تاریخ همانطور که در بالا توضیح داده شد، تاریخچه فرمان را فعال کنید تاریخچه. این
گزینه به طور پیش فرض در پوسته های تعاملی روشن است.
نادیده گرفتن
اثر به این صورت است که گویی فرمان پوسته «IGNOREEOF=10» بوده است
اجرا شد (نگاه کنید به صدف متغیر در بالا).
کلمه کلیدی مثل -k.
مانیتور مثل -m.
نوکلوببر
مثل -C.
noexec مثل -n.
نوگلوب مثل -f.
نولوگ در حال حاضر نادیده گرفته شده است.
مطلع ساختن مثل -b.
اسم مجموعه مثل -u.
onecmd مثل -t.
فیزیکی
مثل -P.
شکست لوله
اگر تنظیم شود، مقدار بازگشتی یک خط لوله، مقدار آخرین است
(راست ترین) دستور خروج با وضعیت غیر صفر یا صفر اگر همه باشد
دستورات در خط لوله با موفقیت خارج می شوند. این گزینه است
به طور پیش فرض غیرفعال است.
پوزيكس تغییر رفتار بر هم زدن که در آن عملیات پیش فرض متفاوت است
از استاندارد POSIX برای مطابقت با استاندارد (پوزيكس حالت) دیدن
ببینید هم در زیر برای ارجاع به سندی که نحوه posix را توضیح می دهد
حالت بر رفتار bash تأثیر می گذارد.
ممتاز
مثل -p.
واژگان مثل -v.
vi از یک رابط ویرایش خط فرمان به سبک vi استفاده کنید. این نیز تاثیر می گذارد
رابط ویرایش مورد استفاده برای خواندن -e.
xtrace مثل -x.
If -o با شماره عرضه می شود گزینه-نام، مقادیر گزینه های فعلی
چاپ می شوند. اگر +o با شماره عرضه می شود گزینه-نام، یک سری از تنظیم
دستورات برای ایجاد مجدد تنظیمات گزینه فعلی در نمایش داده می شود
خروجی استاندارد
-p روشن کن ممتاز حالت در این حالت، $ENV و BASH_ENV $ فایل ها هستند
پردازش نشده، توابع پوسته از محیط به ارث برده نمی شوند، و
la SHELLOPTS, BASHOPTS, CDPATHو GLOBIGNORE متغیرها، اگر ظاهر شوند
در محیط، نادیده گرفته می شوند. اگر پوسته با
شناسه کاربر موثر (گروه) با شناسه کاربر واقعی (گروه) برابر نیست و -p
گزینه ارائه نشده است، این اقدامات انجام شده و شناسه کاربر موثر است
روی شناسه کاربری واقعی تنظیم شده است. اگر -p گزینه در هنگام راه اندازی عرضه می شود
شناسه کاربری موثر بازنشانی نمی شود. خاموش کردن این گزینه باعث می شود
شناسه های کاربر و گروه موثر روی شناسه های کاربر واقعی و گروه تنظیم شوند.
-t پس از خواندن و اجرای یک دستور خارج شوید.
-u با متغیرهای تنظیم نشده و پارامترهای غیر از پارامترهای ویژه "@" رفتار کنید.
و "*" به عنوان یک خطا هنگام انجام بسط پارامتر. اگر گسترش است
با تلاش بر روی یک متغیر یا پارامتر تنظیم نشده، پوسته یک خطا را چاپ می کند
پیام، و، اگر تعاملی نیست، با وضعیت غیر صفر خارج می شود.
-v خطوط ورودی پوسته را هنگام خواندن چاپ کنید.
-x پس از گسترش هر کدام ساده فرمان, برای فرمان ، مورد فرمان ، را انتخاب کنید
دستور یا حساب برای دستور، مقدار گسترش یافته را نمایش می دهد PS4,
به دنبال آن دستور و آرگومان های توسعه یافته آن یا لیست کلمات مرتبط با آن.
-B پوسته انبساط مهاربند را انجام می دهد (نگاه کنید به برس توسعه در بالا). این روشن است
به صورت پیش فرض.
-C اگر تنظیم شود، بر هم زدن فایل موجود را با رونویسی نمی کند >, >&و <>
عملگرهای تغییر مسیر این ممکن است هنگام ایجاد فایل های خروجی لغو شود
با استفاده از عملگر تغییر مسیر >| بجای >.
-E در صورت تنظیم، هر تله ای در ERR توسط توابع پوسته، فرمان به ارث می رسد
تعویض ها و دستورات اجرا شده در محیط زیر پوسته. در ERR
تله معمولاً در چنین مواردی به ارث نمی رسد.
-H فعال ! جایگزینی تاریخچه سبک این گزینه به طور پیش‌فرض در زمانی که
پوسته تعاملی است.
-P اگر تنظیم شود، پوسته پیوندهای نمادین را هنگام اجرای دستورات حل نمی کند
مانند cd که دایرکتوری کاری فعلی را تغییر می دهد. از جنبه فیزیکی استفاده می کند
در عوض ساختار دایرکتوری به صورت پیش فرض، بر هم زدن از زنجیره منطقی پیروی می کند
دایرکتوری ها هنگام اجرای دستوراتی که دایرکتوری فعلی را تغییر می دهند.
-T در صورت تنظیم، هر گونه تله در اشکال زدایی و برگشت توسط توابع پوسته به ارث می رسند،
جایگزینی دستورات و دستورات اجرا شده در محیط زیر پوسته.
La اشکال زدایی و برگشت تله ها معمولاً در چنین مواردی به ارث نمی رسند.
-- اگر هیچ آرگومانی از این گزینه پیروی نکرد، آنگاه پارامترهای موقعیتی هستند
تنظیم نشده در غیر این صورت، پارامترهای موقعیتی به مقدار تنظیم می شوند ارگs، حتی اگر
برخی از آنها با الف شروع می شوند -.
- علامت پایان گزینه ها، باعث می شود همه باقی مانده است ارگs به اختصاص داده شود
پارامترهای موقعیتی در -x و -v گزینه ها خاموش می شوند اگر وجود دارد
نه ارگs، پارامترهای موقعیتی بدون تغییر باقی می مانند.

گزینه‌ها به‌طور پیش‌فرض خاموش هستند، مگر اینکه خلاف آن ذکر شده باشد. استفاده از + به جای -
باعث خاموش شدن این گزینه ها می شود. گزینه ها را نیز می توان به صورت مشخص کرد
استدلال برای فراخوانی پوسته. ممکن است مجموعه فعلی گزینه ها پیدا شود
in $-. وضعیت بازگشت همیشه درست است مگر اینکه با یک گزینه نامعتبر مواجه شوید.

تغییر [n]
پارامترهای موقعیتی از n+1 ... به تغییر نام داده می شوند $1 .... پارامترهای
با اعداد نشان داده شده است $# به پایین $#-n+1 تنظیم نشده است. n باید غیر منفی باشد
عدد کوچکتر یا مساوی $#. اگر n 0 است، هیچ پارامتری تغییر نمی کند. اگر n is
داده نشده، فرض می شود 1. اگر n بزرگتر از $#، موضعی
پارامترها تغییر نمی کنند وضعیت بازگشت بزرگتر از صفر اگر است n بزرگتر است
نسبت به $# یا کمتر از صفر؛ در غیر این صورت 0.

خرید [-pqsu] [-o] [نام انتخابی ...]
مقادیر تنظیمات کنترل کننده رفتار پوسته اختیاری را تغییر دهید. تنظیمات
می تواند موارد ذکر شده در زیر باشد، یا اگر -o گزینه استفاده می شود، آنهایی که در دسترس هستند
با -o گزینه به تنظیم دستور داخلی بدون هیچ گزینه، یا با -p
گزینه، لیستی از همه گزینه های قابل تنظیم نمایش داده می شود، با نشان دادن اینکه آیا
یا هر کدام تنظیم نشده است. را -p گزینه باعث می شود خروجی به شکلی نمایش داده شود که ممکن است
به عنوان ورودی مجددا استفاده شود سایر گزینه ها معانی زیر را دارند:
-s فعال کردن (تنظیم) هر کدام نام انتخابی.
-u غیرفعال کردن (تنظیم نشدن) هر کدام نام انتخابی.
-q خروجی عادی را سرکوب می کند (حالت بی صدا). وضعیت بازگشت نشان می دهد که آیا
la نام انتخابی تنظیم یا تنظیم نشده است. اگر چندتایی باشد نام انتخابی استدلال ها با
-q، وضعیت بازگشت صفر است اگر همه باشد نام های انتخابی فعال هستند؛ غیر صفر
در غیر این صورت.
-o مقادیر را محدود می کند نام انتخابی آنهایی باشند که برای -o گزینه به
تنظیم ساخته شده

اگر هر کدام -s or -u با شماره استفاده می شود نام انتخابی استدلال ها، خرید فقط آن ها را نشان می دهد
گزینه هایی که به ترتیب تنظیم یا تنظیم نشده اند. مگر اینکه غیر از این ذکر شود، خرید
گزینه ها به طور پیش فرض غیرفعال (تنظیم نشده) هستند.

وضعیت بازگشت در هنگام فهرست کردن گزینه ها صفر است نام های انتخابی فعال هستند، غیر
صفر در غیر این صورت هنگام تنظیم یا لغو تنظیمات، وضعیت بازگشت صفر است
مگر اینکه یک نام انتخابی یک گزینه پوسته معتبر نیست.

لیستی از خرید گزینه ها این است:

autocd اگر تنظیم شود، یک نام دستور که نام یک دایرکتوری است، به گونه ای اجرا می شود که گویی آن را دارد
استدلال به cd فرمان این گزینه فقط توسط
پوسته های تعاملی
cdable_vars
اگر تنظیم شود، یک آرگومان برای cd دستور ساخته شده است که یک دایرکتوری نیست
فرض می شود نام متغیری است که مقدار آن دایرکتوری برای تغییر است
به.
سی دی املا اگر تنظیم شود، خطاهای جزئی در املای یک جزء دایرکتوری در a cd
دستور اصلاح خواهد شد خطاهای بررسی شده منتقل می شوند
شخصیت‌ها، یک شخصیت گمشده، و یک شخصیت بیش از حد. اگر یک
تصحیح پیدا می شود، نام فایل تصحیح شده چاپ می شود و دستور
درآمد حاصل می شود. این گزینه فقط توسط پوسته های تعاملی استفاده می شود.
چک هش
اگر تنظیم شود، بر هم زدن بررسی می کند که آیا دستوری که قبلاً در جدول هش یافت شده است وجود داشته باشد
تلاش برای اجرای آن اگر یک فرمان هش شده دیگر وجود نداشته باشد، یک مسیر عادی است
جستجو انجام می شود.
چک مشاغل
اگر تنظیم شود، بر هم زدن وضعیت کارهای متوقف شده و در حال اجرا را قبلاً فهرست می کند
خروج از یک پوسته تعاملی اگر هر شغلی در حال اجرا باشد، این باعث می شود
خروج باید تا زمانی که برای خروج دوم بدون مداخله تلاش شود به تعویق بیفتد
فرمان (نگاه کنید به شغل کنترل در بالا). پوسته همیشه خروج را در صورت وجود به تعویق می اندازد
مشاغل متوقف شده است
checkwinsize
اگر تنظیم شود، بر هم زدن اندازه پنجره را بعد از هر دستور بررسی می کند و در صورت لزوم،
مقادیر را به روز می کند LINES و ستون ها.
cmdist اگر تنظیم شود، بر هم زدن سعی می کند تمام خطوط یک فرمان چند خطی را در آن ذخیره کند
همان ورودی تاریخ این امکان ویرایش مجدد دستورات چند خطی را آسان می کند.
compat31
اگر تنظیم شود، بر هم زدن رفتار خود را نسبت به نسخه 3.1 تغییر می دهد
استدلال هایی را به [[ فرمان مشروط =~ اپراتور و محلی-
مقایسه رشته خاص هنگام استفاده از [[ فرمان مشروط < و >
اپراتورها نسخه های Bash قبل از bash-4.1 از دسته بندی ASCII و
strcmp(3)؛ bash-4.1 و بعد از آن از ترتیب ترتیب محلی فعلی استفاده کنید
و strcoll(3).
compat32
اگر تنظیم شود، بر هم زدن رفتار خود را نسبت به نسخه 3.2 تغییر می دهد
مقایسه رشته های محلی خاص هنگام استفاده از [[ فرمان مشروط <
و > عملگرها (به مورد قبلی مراجعه کنید).
compat40
اگر تنظیم شود، بر هم زدن رفتار خود را نسبت به نسخه 4.0 تغییر می دهد
مقایسه رشته های محلی خاص هنگام استفاده از [[ فرمان مشروط <
و > اپراتورها (به توضیحات مراجعه کنید compat31) و اثر
قطع کردن لیست دستورات نسخه‌های Bash 4.0 و نسخه‌های بعدی آن را قطع می‌کنند
فهرستی را طوری فهرست کنید که گویی پوسته وقفه را دریافت کرده است. نسخه های قبلی ادامه دارد
با دستور بعدی در لیست
compat41
اگر تنظیم شود، بر هم زدن، زمانی که در پوزيكس حالت، یک نقل قول تکی را در یک نقل قول دوگانه بررسی می کند
گسترش پارامتر به عنوان یک کاراکتر خاص. نقل قول های تک باید مطابقت داشته باشند
(یک عدد زوج) و کاراکترهای بین نقل قول های تک هستند
نقل شده در نظر گرفته شده است. این رفتار حالت posix از طریق نسخه 4.1 است.
رفتار bash پیش فرض مانند نسخه های قبلی باقی می ماند.
compat42
اگر تنظیم شود، بر هم زدن رشته جایگزین در الگو را پردازش نمی کند
جایگزینی بسط کلمه با استفاده از حذف نقل قول.
full_fullquote
اگر تنظیم شود، بر هم زدن همه متاکاراکترهای پوسته را در نام فایل ها و دایرکتوری نقل قول می کند
اسامی هنگام انجام تکمیل اگر تنظیم نشده باشد، بر هم زدن متاکاراکترها را حذف می کند
مانند علامت دلار از مجموعه شخصیت هایی که در آن نقل خواهد شد
هنگامی که این متا کاراکترها در متغیر پوسته ظاهر می شوند، نام فایل تکمیل شده است
ارجاعات در کلمات تکمیل شود. این بدان معنی است که دلار وارد می شود
نام متغیرهایی که به دایرکتوری ها گسترش می یابند نقل قول نمی شوند. با این حال، هر
علائم دلار که در نام فایل ها ظاهر می شوند نیز نقل قول نمی شوند. این هست
فقط زمانی فعال است که bash از بک اسلش برای نقل قول نام فایل های تکمیل شده استفاده می کند.
این متغیر به طور پیش فرض تنظیم شده است، که رفتار bash پیش فرض در است
نسخه های 4.2
گسترش مستقیم
اگر تنظیم شود، بر هم زدن نام دایرکتوری ها را با نتایج بسط کلمه جایگزین می کند
هنگام تکمیل نام فایل این محتویات را تغییر می دهد
بافر ویرایش خط خواندن اگر تنظیم نشده باشد، بر هم زدن تلاش می کند آنچه را حفظ کند
کاربر تایپ کرد
املایی
اگر تنظیم شود، بر هم زدن تلاش برای تصحیح املایی نام دایرکتوری ها در طول word
تکمیل اگر نام دایرکتوری ارائه شده در ابتدا وجود نداشته باشد.
نقطه گلوب اگر تنظیم شود، بر هم زدن شامل نام فایل هایی است که با یک «.» شروع می شوند. در نتایج
گسترش نام مسیر
اجرا کردن
اگر تنظیم شود، پوسته غیر تعاملی اگر نتواند فایل را اجرا کند، خارج نخواهد شد
به عنوان یک استدلال برای exec دستور داخلی یک پوسته تعاملی
خارج نمی شود اگر exec شکست می خورد
expand_aliases
اگر تنظیم شود، نام مستعار همانطور که در بالا توضیح داده شد، گسترش می‌یابد نام مستعار. این گزینه
به طور پیش فرض برای پوسته های تعاملی فعال است.
extdebug
در صورت تنظیم، رفتار در نظر گرفته شده برای استفاده توسط دیباگرها فعال می شود:
1. La -F گزینه به اعلام داخلی نام فایل منبع را نمایش می دهد
و شماره خط مربوط به هر نام تابع ارائه شده به عنوان یک
بحث و جدل.
2. اگر فرمان توسط اشکال زدایی trap یک مقدار غیر صفر، the را برمی گرداند
دستور بعدی نادیده گرفته می شود و اجرا نمی شود.
3. اگر فرمان توسط اشکال زدایی trap مقدار 2 را برمی گرداند و the
پوسته در یک زیر روال (یک تابع پوسته یا یک پوسته) اجرا می شود
اسکریپت اجرا شده توسط . or منبع ساخته شده)، یک تماس به برگشت is
شبیه سازی شده.
4. BASH_ARGC و BASH_ARGV همانطور که در آنها توضیح داده شده به روز می شوند
توضیحات بالا
5. ردیابی تابع فعال است: جایگزینی دستور، توابع پوسته،
و زیر پوسته های فراخوانی شده با ( فرمان ) را به ارث ببرند اشکال زدایی و برگشت
تله
6. ردیابی خطا فعال است: جایگزینی دستور، توابع پوسته،
و زیر پوسته های فراخوانی شده با ( فرمان ) را به ارث ببرند ERR تله
extglob در صورت تنظیم، ویژگی‌های تطبیق الگوی توسعه‌یافته در زیر توضیح داده شده است
نام مسیر توسعه فعال هستند
نقل قول
اگر تنظیم شود، $'رشتهو $"رشته" نقل قول در داخل انجام می شود ${پارامتر}
بسط داده شده در گیومه دوتایی. این گزینه به طور پیش فرض فعال است.
failglob
اگر تنظیم شود، الگوهایی که در طول گسترش نام مسیر با نام فایل مطابقت ندارند
منجر به خطای گسترش می شود.
force_fignore
در صورت تنظیم، پسوندهای مشخص شده توسط FIGNORE متغیر پوسته باعث کلمات به
هنگام تکمیل کلمه نادیده گرفته شود، حتی اگر کلمات نادیده گرفته شده باشند
تنها تکمیل های ممکن دیدن پوسته متغیرها در بالا برای توضیح
of FIGNORE. این گزینه به طور پیش فرض فعال است.
globasciiranges
در صورت تنظیم، عبارات محدوده مورد استفاده در الگوهای منطبق بر عبارات براکت (نگاه کنید به
الگو تطابق در بالا) طوری رفتار کنید که گویی در زبان سنتی C وقتی
انجام مقایسه یعنی توالی تطبیق محلی فعلی
در نظر گرفته نمی شود، بنابراین b بین آنها مقایسه نخواهد شد A و Bو
حروف بزرگ و کوچک ASCII با هم ترکیب می شوند.
گلوبستار
اگر تنظیم شود، الگو ** استفاده شده در زمینه گسترش نام مسیر با همه مطابقت دارد
فایل ها و صفر یا بیشتر دایرکتوری ها و زیر شاخه ها. اگر الگو باشد
به دنبال یک /، فقط دایرکتوری ها و زیر شاخه ها مطابقت دارند.
gnu_errfmt
در صورت تنظیم، پیام های خطای پوسته در پیام خطای استاندارد گنو نوشته می شوند
فرمت.
هیستاپوند
اگر تنظیم شود، لیست تاریخچه به فایلی که با مقدار the نامگذاری شده است، اضافه می شود
HISTFILE متغیر هنگام خروج پوسته، به جای بازنویسی فایل.
histreedit
در صورت تنظیم، و خط خواندن در حال استفاده است، به کاربر این فرصت داده می شود تا دوباره
یک جایگزین تاریخچه ناموفق را ویرایش کنید.
histverify
در صورت تنظیم، و خط خواندن استفاده می شود، نتایج جایگزینی تاریخچه می باشد
بلافاصله به تجزیه کننده پوسته منتقل نمی شود. در عوض، خط حاصل است
بارگذاری شده در خط خواندن بافر ویرایش، امکان اصلاح بیشتر را فراهم می کند.
میزبان کامل
در صورت تنظیم، و خط خواندن استفاده می شود، بر هم زدن سعی خواهد کرد نام میزبان را انجام دهد
تکمیل زمانی که کلمه ای حاوی a @ در حال تکمیل است (نگاه کنید به تکمیل کردن
زیر READLINE در بالا). این به طور پیش فرض فعال است.
huponexit
اگر تنظیم شود، بر هم زدن ارسال خواهد کرد چشم انداز به همه مشاغل زمانی که یک پوسته ورود به سیستم تعاملی است
خارج می شود.
نظرات_تعاملی
در صورت تنظیم، اجازه دهید کلمه ای که با آن شروع می شود # باعث شود آن کلمه و همه چیز باقی مانده باشد
کاراکترهای موجود در آن خط باید در یک پوسته تعاملی نادیده گرفته شوند (نگاه کنید به نظرات
در بالا). این گزینه به طور پیش فرض فعال است.
آخرین لوله
اگر تنظیم شود و کنترل شغل فعال نباشد، پوسته آخرین فرمان a را اجرا می کند
خط لوله در محیط پوسته فعلی در پس زمینه اجرا نشده است.
سنگی در صورت تنظیم، و cmdist گزینه فعال است، دستورات چند خطی ذخیره می شوند
تاریخچه با خطوط جدید جاسازی شده به جای استفاده از جداکننده های نقطه ویرگول
هرجا که بشه.
login_shell
پوسته این گزینه را در صورتی تنظیم می کند که به عنوان پوسته ورود شروع شود (نگاه کنید به
فراخوانی در بالا). مقدار ممکن است تغییر نکند.
اخطار پستی
اگر تنظیم شود، و یک فایل که بر هم زدن در حال بررسی ایمیل است که از آن زمان به آن دسترسی پیدا کرده است
آخرین باری که بررسی شد، پیام «ایمیل وارد شد فایل پستی بوده است
read'' نمایش داده می شود.
no_empty_cmd_completion
در صورت تنظیم، و خط خواندن استفاده می شود، بر هم زدن تلاشی برای جستجو نخواهد کرد
PATH برای تکمیل های احتمالی زمانی که تکمیل روی خالی تلاش می شود
خط.
nocaseglob
اگر تنظیم شود، بر هم زدن زمانی که نام فایل ها را به روشی حساس به حروف کوچک و بزرگ مطابقت می دهد
انجام گسترش نام مسیر (نگاه کنید به نام مسیر توسعه در بالا).
nocasmatch
اگر تنظیم شود، بر هم زدن هنگام اجرا، الگوها را به روشی غیر حساس به حروف کوچک و بزرگ منطبق می کند
تطبیق در حین اجرا مورد or [[ دستورات شرطی
nullglob
اگر تنظیم شود، بر هم زدن به الگوهایی اجازه می دهد که با هیچ فایلی مطابقت ندارند (نگاه کنید به نام مسیر توسعه
در بالا) به جای خودشان، به یک رشته تهی بسط دهند.
progcomp
در صورت تنظیم، امکانات تکمیل قابل برنامه ریزی (نگاه کنید به برنامه ریزی تکمیل
بالا) فعال هستند. این گزینه به طور پیش فرض فعال است.
promptvars
اگر تنظیم شود، رشته های درخواستی تحت بسط پارامتر، جایگزینی دستور،
بسط حسابی، و حذف نقل قول پس از بسط به شرح توضیح داده شد
in تحریک کردن در بالا. این گزینه به طور پیش فرض فعال است.
limited_shell
پوسته اگر در حالت محدود راه اندازی شود این گزینه را تنظیم می کند (نگاه کنید به
محصور پوسته زیر). مقدار ممکن است تغییر نکند. این تنظیم مجدد نیست
هنگامی که فایل های راه اندازی اجرا می شوند، به فایل های راه اندازی اجازه می دهد تا کشف شوند
آیا پوسته محدود است یا نه.
shift_verbose
اگر تنظیم شود، تغییر وقتی تعداد شیفت‌ها به‌وجود می‌آید، یک پیغام خطا چاپ می‌کند
از تعداد پارامترهای موقعیتی فراتر می رود.
مسیر منبع
اگر تنظیم شود، منبع (.)buildin از مقدار استفاده می کند PATH برای پیدا کردن دایرکتوری
حاوی فایل ارائه شده به عنوان آرگومان. این گزینه توسط
به طور پیش فرض
xpg_echo
اگر تنظیم شود، از دست ساخته شده توالی‌های بک اسلش-گریز را به‌طور پیش‌فرض گسترش می‌دهد.

تعلیق [-f]
اجرای این پوسته را تا دریافت الف به حالت تعلیق درآورید NEXTCONT علامت. یک ورود
پوسته قابل تعلیق نیست. را -f می توان از گزینه برای نادیده گرفتن این و اجبار کردن استفاده کرد
تعلیق. وضعیت بازگشت 0 است مگر اینکه پوسته یک پوسته ورود و -f نیست
ارائه شده است، یا اگر کنترل شغل فعال نباشد.

آزمون صادرات
[ صادرات ]
بسته به ارزیابی وضعیت، وضعیت 0 (درست) یا 1 (نادرست) را برگردانید
بیان شرطی صادرات. هر عملگر و عملوند باید جداگانه باشند
بحث و جدل. عبارات از عبارات اولیه تشریح شده در بالا تشکیل شده اند
شرطی اصطلاحات. آزمون هیچ گزینه ای را نمی پذیرد و نمی پذیرد و
نادیده گرفتن استدلال از -- به عنوان نشانه پایان گزینه ها.

عبارات ممکن است با استفاده از عملگرهای زیر که به صورت کاهشی فهرست شده اند ترکیب شوند
ترتیب اولویت. ارزیابی به تعداد آرگومان ها بستگی دارد. زیر را ببینید.
اولویت عملگر زمانی استفاده می شود که پنج یا بیشتر آرگومان وجود داشته باشد.
! صادرات درست است اگر صادرات نادرست است
( صادرات )
مقدار را برمی‌گرداند صادرات. این ممکن است برای نادیده گرفتن حالت عادی استفاده شود
تقدم عملگرها
EXPR1 -a EXPR2
اگر هر دو درست باشد EXPR1 و EXPR2 درست هستند
EXPR1 -o EXPR2
اگر هر کدام درست است EXPR1 or EXPR2 درست است.

آزمون و [ ارزیابی عبارات شرطی با استفاده از مجموعه ای از قوانین بر اساس
تعداد آرگومان ها

بحث های 0
عبارت نادرست است.
1 استدلال
عبارت درست است اگر و فقط اگر آرگومان تهی نباشد.
بحث های 2
اگر استدلال اول باشد !، عبارت درست است اگر و فقط اگر دوم باشد
آرگومان تهی است اگر آرگومان اول یکی از شرطی های غیر متعارف باشد
اپراتورهای ذکر شده در بالا در زیر شرطی اصطلاحات، بیان درست است
اگر آزمون یوناری درست باشد. اگر آرگومان اول unary معتبر نباشد
عملگر شرطی، عبارت نادرست است.
بحث های 3
شرایط زیر به ترتیب ذکر شده اعمال می شود. اگر دومی
آرگومان یکی از عملگرهای شرطی باینری است که در بالا ذکر شده است
شرطی اصطلاحات، نتیجه عبارت حاصل از است
تست باینری با استفاده از آرگومان های اول و سوم به عنوان عملوند. در -a و -o
عملگرها زمانی عملگرهای باینری در نظر گرفته می شوند که سه آرگومان وجود داشته باشد.
اگر استدلال اول باشد !، مقدار نفی دو برهان است
با استفاده از آرگومان های دوم و سوم تست کنید. اگر استدلال اول دقیقاً باشد
( و استدلال سوم دقیقاً است )، نتیجه آزمون تک استدلالی است
از استدلال دوم در غیر این صورت، عبارت نادرست است.
بحث های 4
اگر استدلال اول باشد !، نتیجه نفی برهان سه گانه است
عبارتی که از آرگومان های باقی مانده تشکیل شده است. در غیر این صورت، بیان
با استفاده از قوانین ذکر شده بر اساس اولویت تجزیه و تحلیل و ارزیابی می شود
در بالا.
5 یا بیشتر آرگومان
عبارت با استفاده از عبارت بر اساس اولویت تجزیه و تحلیل می شود
قوانین ذکر شده در بالا

هنگامی که با استفاده می شود آزمون or [از < و > عملگرها با استفاده از ASCII به صورت واژگانی مرتب می شوند
مرتب سازی.

بار زمان‌های جمع‌شده کاربر و سیستم را برای پوسته و فرآیندهای اجرا شده چاپ کنید
از پوسته وضعیت بازگشت 0 است.

دام [-lp] [[ارگ] sigspec ...]
دستور ارگ زمانی که پوسته سیگنال(های) را دریافت می کند خوانده و اجرا می شود.
sigspec. اگر ارگ غایب است (و یک واحد وجود دارد sigspec) و یا -، هر کدام مشخص شده است
سیگنال به حالت اولیه خود بازنشانی می شود (مقداری که در هنگام ورود به آن داشت
پوسته). اگر ارگ رشته تهی سیگنال مشخص شده توسط هر یک است sigspec نادیده گرفته می شود
توسط پوسته و با دستوراتی که فراخوانی می کند. اگر ارگ وجود ندارد و -p بوده است
ارائه شده، سپس دستورات دام مرتبط با هر کدام sigspec نمایش داده می شوند. اگر نه
آرگومان ها یا اگر فقط ارائه می شوند -p داده شده است، دام لیست دستورات را چاپ می کند
مرتبط با هر سیگنال را -l گزینه باعث می شود پوسته لیستی از
نام سیگنال ها و شماره های مربوط به آنها هر یک sigspec یا یک نام سیگنال است
تعریف شده درسیگنال.h> یا یک شماره سیگنال. نام های سیگنال به حروف بزرگ و کوچک حساس هستند و
la SIG پیشوند اختیاری است

اگر یک sigspec is خروج (0) فرمان ارگ در هنگام خروج از پوسته اجرا می شود. اگر یک
sigspec is اشکال زدایی، دستور ارگ قبل از هر اجرا می شود ساده فرمان, برای
فرمان ، مورد فرمان ، را انتخاب کنید دستور، هر حساب برای فرمان، و قبل از
اولین فرمان در یک تابع پوسته اجرا می شود (نگاه کنید به پوسته دستور زبان در بالا). رجوع به
شرح از extdebug گزینه به خرید برای جزئیات اثر آن ساخته شده است
در اشکال زدایی تله اگر یک sigspec is برگشت، دستور ارگ هر بار a اجرا می شود
تابع پوسته یا یک اسکریپت اجرا شده با . or منبع تکمیل های داخلی
اجرا کردن

اگر یک sigspec is ERR، دستور ارگ هر زمان که خط لوله aa اجرا می شود (که ممکن است
متشکل از یک فرمان ساده)، یک لیست یا یک دستور مرکب a را برمی گرداند
وضعیت خروج غیر صفر، مشروط به شرایط زیر. را ERR تله نیست
اگر دستور ناموفق بخشی از لیست دستورات بلافاصله بعد از a باشد اجرا می شود
در حین or تا کلمه کلیدی، بخشی از آزمون در یک if بیانیه، بخشی از یک فرمان
اجرا شده در الف && or || لیست به جز دستور زیر نهایی && or ||، هرکسی
دستور در خط لوله اما آخرین فرمان، یا اگر مقدار بازگشتی دستور باشد
معکوس با استفاده از !. اینها همان شرایطی است که توسط errexit (-e) گزینه.

سیگنال هایی که هنگام ورود به پوسته نادیده گرفته می شوند را نمی توان به دام انداخت یا تنظیم مجدد کرد. به دام افتاده است
سیگنال هایی که نادیده گرفته نمی شوند به مقادیر اصلی خود در یک پوسته فرعی بازنشانی می شوند
یا محیط زیر پوسته زمانی که یکی ایجاد می شود. وضعیت بازگشت در صورت وجود نادرست است
sigspec نامعتبر است؛ در غیر این صورت دام واقعی را برمی گرداند.

نوع [-afftpP] نام [نام ...]
بدون هیچ گزینه، نحوه هر کدام را مشخص کنید نام اگر به عنوان دستور استفاده شود تفسیر می شود
نام. اگر -t گزینه استفاده می شود، نوع رشته ای را چاپ می کند که یکی از نام مستعار,
کلمه کلیدی, تابع, خانه، یا پرونده if نام یک کلمه مستعار، پوسته رزرو شده است،
تابع، داخلی، یا فایل دیسک، به ترتیب. اگر نام پس پیدا نمی شود
هیچ چیز چاپ نمی شود و وضعیت خروج false برگردانده می شود. اگر -p گزینه است
استفاده شده، نوع یا نام فایل دیسکی را برمی‌گرداند که اگر اجرا شود نام
به‌عنوان نام فرمان مشخص می‌شدند، یا اگر «تایپ -t name» برنمی‌گشت هیچ چیز
پرونده. -P نیروهای گزینه a PATH جستجو برای هر کدام نام، حتی اگر "نام -t" را تایپ کنید
برنمی گردد پرونده. اگر دستوری هش شود، -p و -P چاپ مقدار هش،
که لزوماً فایلی نیست که ابتدا در آن ظاهر می شود PATH. اگر -a گزینه است
استفاده شده، نوع تمام مکان هایی که حاوی یک فایل اجرایی با نام هستند را چاپ می کند نام. این
شامل نام مستعار و توابع است، اگر و فقط اگر -p گزینه نیز استفاده نمی شود. در
هنگام استفاده از جدول دستورات هش شده استفاده نمی شود -a. -f گزینه سرکوب می کند
جستجوی تابع پوسته، مانند فرمان ساخته شده نوع اگر همه آنها را درست برمی گرداند
آرگومان‌ها یافت می‌شوند، اگر آرگومان‌هایی یافت نشد نادرست است.

اولیمیت [-HSTabcdefilmnpqrstuvx [محدود کردن]]
کنترل منابع موجود برای پوسته و فرآیندهای آغاز شده را فراهم می کند
توسط آن، در سیستم هایی که اجازه چنین کنترلی را می دهند. را -H و -S گزینه ها مشخص می کنند که
محدودیت سخت یا نرم برای منبع داده شده تنظیم شده است. حد سخت را نمی توان افزایش داد
توسط یک کاربر غیر ریشه پس از تنظیم. یک حد نرم ممکن است تا مقدار افزایش یابد
حد سخت اگر هیچ کدام -H نه -S هر دو حد نرم و سخت مشخص شده است
تنظیم شده اند. ارزش محدود کردن می تواند یک عدد در واحد مشخص شده برای منبع باشد
یا یکی از ارزش های خاص سخت, نرم، یا نا محدودکه مخفف جریان هستند
حد سخت، حد نرم فعلی و بدون محدودیت، به ترتیب. اگر محدود کردن is
حذف شده، مقدار فعلی محدودیت نرم منبع چاپ می شود، مگر اینکه
-H گزینه داده شده است. هنگامی که بیش از یک منبع مشخص شده است، نام محدود و
واحد قبل از مقدار چاپ می شود. سایر گزینه ها به شرح زیر تفسیر می شوند:
-a تمام محدودیت های فعلی گزارش شده است
-b حداکثر اندازه بافر سوکت
-c حداکثر اندازه فایل های اصلی ایجاد شده
-d حداکثر اندازه بخش داده یک فرآیند
-e حداکثر اولویت برنامه ریزی ("خوب")
-f حداکثر اندازه فایل های نوشته شده توسط پوسته و فرزندان آن
-i حداکثر تعداد سیگنال های معلق
-l حداکثر اندازه ای که ممکن است در حافظه قفل شود
-m حداکثر اندازه مجموعه ساکن (بسیاری از سیستم ها این محدودیت را رعایت نمی کنند)
-n حداکثر تعداد توصیف کننده های فایل باز (بیشتر سیستم ها این اجازه را نمی دهند
مقداری که باید تنظیم شود)
-p اندازه لوله در بلوک های 512 بایتی (ممکن است تنظیم نشده باشد)
-q حداکثر تعداد بایت در صف های پیام POSIX
-r حداکثر اولویت زمان‌بندی بلادرنگ
-s حداکثر اندازه پشته
-t حداکثر زمان CPU بر حسب ثانیه
-u حداکثر تعداد فرآیندهای موجود برای یک کاربر
-v حداکثر مقدار حافظه مجازی موجود برای پوسته و در برخی
سیستم ها، به فرزندانش
-x حداکثر تعداد قفل فایل
-T حداکثر تعداد رشته ها

If محدود کردن داده می شود، و -a گزینه استفاده نمی شود، محدود کردن ارزش جدید است
منبع مشخص شده اگر گزینه ای داده نشد، پس -f فرض بر این است. ارزش ها در
افزایش 1024 بایتی، به جز -t، که در ثانیه است; -p، که بر حسب واحد می باشد
بلوک های 512 بایتی؛ و -T, -b, -nو -u، که مقادیر بدون مقیاس هستند. بازگشت
وضعیت 0 است مگر اینکه یک گزینه یا آرگومان نامعتبر ارائه شود یا خطایی رخ دهد
در حالی که یک محدودیت جدید تعیین می کند.

umask [-p] [-S] [حالت]
ماسک ایجاد فایل کاربر روی تنظیم شده است حالت. اگر حالت با یک رقم شروع می شود، آن است
به عنوان یک عدد هشتی تفسیر می شود. در غیر این صورت به عنوان یک ماسک حالت نمادین تعبیر می شود
مشابه آنچه که توسط آن پذیرفته شده است chmod(1). اگر حالت حذف شده است، مقدار فعلی از
ماسک چاپ شده است را -S گزینه باعث می شود که ماسک به شکل نمادین چاپ شود. را
خروجی پیش فرض یک عدد اکتالی است. اگر -p گزینه ارائه شده است، و حالت is
حذف شده، خروجی به شکلی است که ممکن است مجدداً به عنوان ورودی استفاده شود. وضعیت بازگشت است
0 اگر حالت با موفقیت تغییر کرد یا خیر حالت آرگومان ارائه شد و
نادرست در غیر این صورت

آنالیز [-a] [نام ...]
هر کدام را بردارید نام از لیست نام های مستعار تعریف شده اگر -a تمام نام مستعار عرضه می شود
تعاریف حذف می شوند مقدار برگشتی درست است مگر اینکه یک عدد ارائه شده باشد نام نمی باشد
نام مستعار تعریف شده

تنظیم نشده [-fv] [-n] [نام ...]
برای هر یک از نام، متغیر یا تابع مربوطه را حذف کنید. اگر -v گزینه است
داده شده، هر کدام نام به یک متغیر پوسته اشاره دارد و آن متغیر حذف می شود. خواندن-
فقط متغیرها ممکن است تنظیم نشوند. اگر -f مشخص شده است، هر کدام نام به پوسته اشاره دارد
تابع، و تعریف تابع حذف می شود. اگر -n گزینه ارائه شده است،
و نام یک متغیر با نامرف صفت، نام تنظیم نخواهد شد به جای
متغیری که به آن ارجاع می دهد. -n تاثیری ندارد اگر -f گزینه ارائه شده است. اگر نه
گزینه های ارائه شده است، هر کدام نام به یک متغیر اشاره دارد؛ اگر هیچ متغیری وجود نداشته باشد
آن نام، هر تابعی با آن نام تنظیم نشده است. هر متغیر یا تابع تنظیم نشده
از محیط ارسال شده به دستورات بعدی حذف می شود. اگر هر یک از
COMP_WORDBREAKS, تصادفی, ثانیه ها, LINENO, HISTCMD, FUNCNAME, گروه ها، یا DIRSTACK
تنظیم نشده باشند، خواص ویژه خود را از دست می دهند، حتی اگر بعداً تنظیم مجدد شوند.
وضعیت خروج درست است مگر اینکه a نام فقط خواندنی است.

صبر کنيد [-n] [n ...]
منتظر هر پردازش فرزند مشخص شده باشید و وضعیت خاتمه آن را برگردانید. هر یک n
ممکن است یک شناسه فرآیند یا یک مشخصات شغلی باشد. اگر مشخصات کار داده شود، تمام فرآیندها
در خط لوله آن کار منتظر هستند. اگر n داده نمی شود، همه در حال حاضر فعال هستند
فرآیندهای فرزند منتظر هستند و وضعیت بازگشت صفر است. اگر -n گزینه است
عرضه شده، صبر کنيد منتظر می ماند تا هر کاری خاتمه یابد و وضعیت خروج آن را برمی گرداند. اگر n
یک فرآیند یا کار غیرموجود را مشخص می کند، وضعیت بازگشت 127 است. در غیر این صورت،
وضعیت بازگشت، وضعیت خروج از آخرین فرآیند یا کار مورد انتظار است.

محصور پوسته


If بر هم زدن با نام شروع می شود باش، و یا -r گزینه در فراخوانی ارائه شده است
پوسته محدود می شود. یک پوسته محدود برای راه اندازی بیشتر یک محیط استفاده می شود
از پوسته استاندارد کنترل می شود. یکسان رفتار می کند بر هم زدن به استثنای
که موارد زیر مجاز نیست یا انجام نشده است:

· تغییر دایرکتوری ها با cd

· تنظیم یا عدم تنظیم مقادیر پوسته, PATH, ENV، یا BASH_ENV

· تعیین نام دستورات حاوی /

· تعیین نام فایل حاوی a / به عنوان استدلالی برای . دستور داخلی

· تعیین نام فایل حاوی یک اسلش به عنوان آرگومان برای -p گزینه به
مخلوط دستور داخلی

· وارد کردن تعاریف تابع از محیط پوسته در هنگام راه اندازی

· تجزیه مقدار SHELLOPTS از محیط پوسته هنگام راه اندازی

· تغییر مسیر خروجی با استفاده از عملگرهای تغییر مسیر >، >|، <>، >&، &>، و >>

· با استفاده از exec دستور داخلی برای جایگزینی پوسته با دستور دیگری

· اضافه کردن یا حذف دستورات داخلی با -f و -d گزینه های به قادر ساختن
دستور داخلی

· با استفاده از قادر ساختن دستورbuildin برای فعال کردن توده های پوسته غیر فعال

· مشخص کردن -p گزینه به فرمان دستور داخلی

· خاموش کردن حالت محدود با تنظیم +r or تنظیم +o منحصر.

این محدودیت‌ها پس از خواندن هر فایل راه‌اندازی اعمال می‌شوند.

هنگامی که دستوری که مشخص می شود یک اسکریپت پوسته است اجرا می شود (نگاه کنید به COMMAND اعدام
در بالا)، باش هر گونه محدودیت در پوسته ایجاد شده برای اجرای اسکریپت را خاموش می کند.

با استفاده از خدمات onworks.net از bash آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    بسیار تمیز
    بسیار تمیز
    یک اسکریپت کاتلین که تمام ساخت‌ها را هسته‌ای می‌کند
    حافظه پنهان از پروژه های Gradle/Android.
    زمانی مفید است که Gradle یا IDE به شما اجازه دهند
    پایین. اسکریپت روی تست شده است
    macOS، اما ...
    دانلود عمیق تمیز
  • 2
    پلاگین Eclipse Checkstyle
    پلاگین Eclipse Checkstyle
    پلاگین Eclipse Checkstyle
    کد جاوا Checkstyle را یکپارچه می کند
    حسابرس به Eclipse IDE. در
    پلاگین بازخورد در زمان واقعی را به شما ارائه می دهد
    کاربر در مورد viol...
    دانلود Eclipse Checkstyle Plug-in
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player یک پخش کننده رسانه رایگان است
    نرم افزار، بخشی مبتنی بر WMP و VLC. این
    پخش کننده به سبک مینیمالیستی است، با
    بیش از ده رنگ تم، و همچنین می توانید
    ب ...
    AstrOrzPlayer را دانلود کنید
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV بدون ADDON برای XBMC/
    Kodi que Permite disponer de un
    رمزگشایی خدمات IPTV
    Movistar integrado en uno de los
    مراکز رسانه ای ما...
    دانلود movistartv
  • 5
    کد :: بلوک
    کد :: بلوک
    کد::Blocks یک منبع باز و رایگان است،
    کراس پلتفرم C، C++ و Fortran IDE
    ساخته شده برای پاسخگویی به بیشترین نیازها
    از کاربران آن بسیار طراحی شده است
    تمدید می کند ...
    کد دانلود::Blocks
  • 6
    در میان
    در میان
    در میان یا رابط پیشرفته Minecraft
    و Data/Structure Tracking ابزاری برای
    نمای کلی یک Minecraft را نمایش دهید
    جهان، بدون اینکه واقعاً آن را ایجاد کند. آی تی
    می توان ...
    دانلود در میان
  • بیشتر "

دستورات لینوکس

Ad