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

Ad


فاویکون OnWorks

mksh-static - آنلاین در ابر

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

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

برنامه:

نام


با تشکر, sh - پوسته MirBSD Korn

خلاصه


با تشکر [-+abCefhiklmnprUuvXx] [-T [!]تله تایپ | -] [-+o انتخاب] [-c رشته | -s | پرونده
[استدلال ...]]
نام داخلی [استدلال ...]

شرح


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

من هستم an آندروید کاربر، so چه mksh
با تشکر یک مفسر پوسته / فرمان یونیکس است، شبیه به COMMAND.COM or CMD.EXE، که دارای
مدتی است که با پروژه متن باز اندروید گنجانده شده است. در اصل، این یک برنامه است
که در یک ترمینال اجرا می شود (پنجره کنسول)، ورودی کاربر را می گیرد و دستورات یا اسکریپت ها را اجرا می کند،
که می تواند توسط برنامه های دیگر حتی در پس زمینه نیز از آن خواسته شود. هر امتیازی
پاپ آپ هایی که ممکن است با آنها روبرو شوید، بنابراین نیستند با تشکر مسائل اما سوالات برخی دیگر
برنامه ای که از آن استفاده می کند

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

گزینه ها به شرح زیر است:

-c رشته با تشکر دستور(های) موجود در را اجرا خواهد کرد رشته.

-i پوسته تعاملی پوسته ای که دستورات را از ورودی استاندارد می خواند
"تعاملی" اگر از این گزینه استفاده شود یا اگر هر دو ورودی استاندارد و خطای استاندارد باشد
به الف متصل می شوند تله تایپ(4). یک پوسته تعاملی دارای کنترل کار فعال است، نادیده گرفته می شود
SIGINT، SIGQUIT، و SIGTERM سیگنال می دهند و اعلان ها را قبل از خواندن ورودی چاپ می کند
(به پارامترهای PS1 و PS2 مراجعه کنید). همچنین پارامتر ENV یا the را پردازش می کند
mkshrc فایل (به زیر مراجعه کنید). برای پوسته های غیر تعاملی، مسیر گزینه روشن است
به طور پیش فرض (به تنظیم دستور زیر).

-l پوسته ورود به سیستم. اگر نام پایه پوسته با (یعنی argv[0]) نامیده شود با آن شروع می شود
'-' یا اگر از این گزینه استفاده شود، پوسته یک پوسته ورود به سیستم فرض می شود. دیدن
راه اندازی فایل ها زیر کلیک کنید.

-p پوسته ممتاز در صورتی که شناسه کاربری واقعی یا شناسه گروه، پوسته دارای امتیاز است
با شناسه کاربر مؤثر یا شناسه گروه مطابقت ندارد (نگاه کنید به گیج شدن(2) و گرفتگی(2).
پاک کردن گزینه Privileged باعث می شود که پوسته شناسه کاربری موثر خود را تنظیم کند
(شناسه گروه) به شناسه کاربری واقعی خود (شناسه گروه). برای مفاهیم بیشتر، نگاه کنید راه اندازی
فایل ها. اگر پوسته دارای امتیاز باشد و این پرچم به صراحت تنظیم نشده باشد،
گزینه "privileged" پس از پردازش فایل های راه اندازی به طور خودکار پاک می شود.

-r پوسته محدود. در صورت استفاده از این گزینه، پوسته "محدود" است. به شرح زیر
محدودیت ها پس از پردازش هر پروفایل و ENV توسط پوسته اعمال می شوند
فایل ها:

· La cdچدیر) دستور غیرفعال است.
· پارامترهای SHELL، ENV و PATH را نمی توان تغییر داد.
· نام دستورات را نمی توان با مسیرهای مطلق یا نسبی مشخص کرد.
· La -p گزینه دستور داخلی فرمان قابل استفاده نیست
· تغییر مسیرهایی که فایل ها را ایجاد می کنند نمی توانند استفاده شوند (به عنوان مثال '>'، '>|'، '>>'، '<>').

-s پوسته دستورات را از ورودی استاندارد می خواند. همه آرگومان های غیر گزینه هستند
پارامترهای موقعیتی

-T نام تخم ریزی با تشکر در تله تایپ(4) دستگاه داده شده است. مسیرها نام, /dev/ttyCname و
/dev/ttyname به ترتیب تلاش می شود. مگر اینکه نام با علامت تعجب شروع می شود
('!')، این در یک زیر پوسته انجام می شود و بلافاصله برمی گردد. اگر نام یک خط تیره است
('-')، به جای آن از ترمینال کنترلی (دیمونیز) جدا شوید.

علاوه بر موارد فوق، گزینه های شرح داده شده در تنظیم از دستور داخلی نیز می توان استفاده کرد
در خط فرمان: هر دو [-+abCefhkmnuvXx[و]-+o انتخاب] را می توان برای تک حرف استفاده کرد
یا گزینه های طولانی به ترتیب.

اگر نه -c و نه -s گزینه مشخص شده است، اولین آرگومان غیر گزینه ای مشخص می کند
نام فایلی که پوسته دستورات را از آن می خواند. اگر هیچ آرگومان غیر گزینه ای وجود نداشته باشد،
پوسته دستورات را از ورودی استاندارد می خواند. نام پوسته (یعنی محتویات
$0) به شرح زیر تعیین می شود: اگر -c گزینه استفاده می شود و آرگومان غیر گزینه ای وجود دارد،
از آن به عنوان نام استفاده می شود. اگر دستورات از یک فایل خوانده شوند، از فایل به عنوان فایل استفاده می شود
نام؛ در غیر این صورت، از نام پایه ای که پوسته با آن نامیده می شد (یعنی argv[0]) استفاده می شود.

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

راه اندازی فایل ها
برای مکان واقعی این فایل ها، نگاه کنید فایل ها. پوسته ورود سیستم را پردازش می کند
ابتدا پروفایل سپس یک پوسته ممتاز نمایه suid را پردازش می کند. یک ورود بدون امتیاز
پوسته نمایه کاربر را در مرحله بعد پردازش می کند. یک پوسته تعاملی غیرمجاز، مقدار را بررسی می‌کند
پارامتر ENV پس از قرار دادن آن به پارامتر، فرمان، حساب و tilde ('~')
جایگزینی؛ اگر تنظیم نشده یا خالی باشد، نمایه mkshrc کاربر پردازش می شود. در غیر این صورت، اگر یک فایل
که نام آن نتیجه جایگزینی وجود دارد، پردازش می شود. نیستی در سکوت است
نادیده گرفته شده است. یک پوسته ممتاز سپس امتیازات را حذف می‌کند، اگر هیچکدام از اینها نبودند -p گزینه داده شده در
خط فرمان و نه تنظیم در هنگام اجرای فایل های راه اندازی.

فرمان نحو
پوسته شروع به تجزیه ورودی خود با حذف هر گونه ترکیب بک اسلش-خط جدید می کند
شکستن آن به کلمات. کلمات (که دنباله ای از کاراکترها هستند) با نقل قول نشده مشخص می شوند
کاراکترهای فضای خالی (فضا، برگه و خط جدید) یا متا کاراکترها ('<', '>', '|', ';', '(',
')'، و '&'). جدای از مرزبندی کلمات، فاصله ها و برگه ها نادیده گرفته می شوند، در حالی که خطوط جدید
معمولاً دستورات محدود کردن. متا کاراکترها در ساخت موارد زیر استفاده می شوند نشانه:
'<'، '<&'، '<<'، '<<<'، '>'، '>&'، '>>'، '&>'، و غیره برای تعیین تغییر مسیرها استفاده می شود (نگاه کنید به
ورودی خروجی تغییر مسیر زیر)؛ '|' برای ایجاد خطوط لوله استفاده می شود. '|&' برای ایجاد co- استفاده می شود
فرآیندها (نگاه کنید به فرآیندهای مشترک زیر)؛ ';' برای جدا کردن دستورات استفاده می شود. "&" برای ایجاد استفاده می شود
خطوط لوله ناهمزمان؛ '&&' و '||' برای تعیین اجرای مشروط استفاده می شود. ';;'، ';&'
و ';|' در استفاده می شوند مورد بیانیه؛ "(( .. ))" در عبارات حسابی استفاده می شود. و
در نهایت، "( .. )" برای ایجاد زیر پوسته ها استفاده می شود.

فضاهای سفید و متا کاراکترها را می توان به صورت جداگانه با استفاده از بک اسلش ('\') یا در
گروه‌ها از گیومه‌های دوتایی ('"') یا تکی ("'") استفاده می‌کنند. توجه داشته باشید که کاراکترهای زیر هستند
همچنین پوسته به طور ویژه با آنها برخورد می کند و اگر قرار است خود را نمایندگی کنند باید نقل قول شود:
'\'، '"'، '''، '#'، '$'، '''، '~'، '{'، '}'، '*'، '؟'، و '['. سه اول از این
شخصیت های نقل قول ذکر شده در بالا هستند (نگاه کنید به نقل قول زیر)؛ "#"، در صورت استفاده در
شروع یک کلمه، یک نظر را معرفی می کند - همه چیز بعد از "#" تا نزدیکترین
خط جدید نادیده گرفته می شود. '$' برای معرفی پارامتر، دستور و محاسبات استفاده می شود
تعویض ها (نگاه کنید به جایگزینی زیر)؛ "" یک جایگزین دستور به سبک قدیمی را معرفی می کند
(نگاه کنید به جایگزینی زیر)؛ '~' یک گسترش دایرکتوری را شروع می کند (نگاه کنید به تیلد توسعه زیر)؛ '{'
و '}' محدود کنید csh(1)-تغییرهای سبک (نگاه کنید به برس توسعه زیر)؛ و در نهایت، '*'،
'؟' و '[' در تولید نام فایل استفاده می شود (نگاه کنید به پرونده نام الگوهای در زیر).

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

یک دستور ساده از ترکیبی از تخصیص پارامترها تشکیل شده است (نگاه کنید به پارامترهای
در زیر)، تغییر مسیرهای ورودی/خروجی (نگاه کنید به ورودی خروجی تغییرمسیر زیر)، و کلمات دستوری؛
تنها محدودیت این است که تخصیص پارامترها قبل از هر کلمه دستوری باشد. در
کلمات دستوری، در صورت وجود، دستوری را که قرار است اجرا شود و آرگومان های آن را تعریف کنید. در
فرمان ممکن است یک دستور داخلی پوسته، یک تابع یا یک فرمان خارجی باشد (یعنی یک دستور جداگانه
فایل اجرایی که با استفاده از پارامتر PATH قرار دارد. دیدن فرمان اعدام در زیر).
توجه داشته باشید که همه ساختارهای دستور دارای وضعیت خروج هستند: برای دستورات خارجی، این موضوع مرتبط است
به وضعیتی که توسط صبر کنيد(2) (اگر دستور پیدا نشد، وضعیت خروج است
127; اگر نمی توان آن را اجرا کرد، وضعیت خروج 126 است). وضعیت خروج از دستور دیگر
ساختارها (فرمان های داخلی، توابع، دستورات ترکیبی، خطوط لوله، لیست ها و غیره) همه هستند
به خوبی تعریف شده و در جایی که سازه توصیف می شود، توضیح داده می شود. وضعیت خروج از a
دستوری که فقط از تخصیص پارامترها تشکیل شده است، دستور آخرین جایگزینی دستور است
در طول تخصیص پارامتر یا 0 در صورت عدم وجود تعویض دستور انجام می شود.

دستورات را می توان با استفاده از "|" به هم متصل کرد. توکن برای تشکیل خطوط لوله، که در آن
خروجی استاندارد هر فرمان اما آخرین آن لوله شده است (نگاه کنید به لوله(2)) به ورودی استاندارد
دستور زیر وضعیت خروج خط لوله آخرین فرمان آن است، مگر اینکه
la شکست لوله گزینه تنظیم شده است (آنجا را ببینید). تمام دستورات یک خط لوله به صورت جداگانه اجرا می شوند
زیر پوسته ها این توسط POSIX مجاز است اما با هر دو نوع AT&T UNIX متفاوت است ksh، که در آن
همه به جز آخرین دستور در زیر پوسته ها اجرا شدند. را ببینید خواندن شرح ساخته شده برای
پیامدها و راه حل ها ممکن است پیشوند یک خط لوله با "!" باشد. کلمه رزرو شده که
باعث می شود وضعیت خروج از خط لوله به طور منطقی تکمیل شود: اگر وضعیت اصلی
0 بود، وضعیت تکمیل شده 1 خواهد بود. اگر وضعیت اصلی 0 نبود، تکمیل می شود
وضعیت 0 خواهد بود.

لیست دستورات را می توان با جدا کردن خطوط لوله توسط هر یک از نشانه های زیر ایجاد کرد:
'&&'، '||'، '&'، '|&'، و ';'. دو مورد اول برای اجرای مشروط هستند:cmd1 && cmd2"
اجرا می کند cmd2 تنها در صورتی که وضعیت خروج از cmd1 صفر است؛ '||' برعکس است - cmd2 is
فقط در صورتی اجرا می شود که وضعیت خروج از cmd1 غیر صفر است '&&' و '||' دارای اولویت مساوی
که بالاتر از '&'، '|&'، و ';' است که آنها نیز دارای تقدم مساوی هستند. توجه داشته باشید
که '&&' و '||' عملگرها "چپ انجمنی" هستند. مثلا هر دوی اینها
دستورات فقط "bar" را چاپ می کنند:

$ false && echo foo || نوار اکو
$ واقعی || echo foo && echo bar

نشانه '&' باعث می شود دستور قبلی به صورت ناهمزمان اجرا شود. یعنی پوسته
دستور را شروع می کند اما منتظر نمی ماند تا کامل شود (پوسته آن را پیگیری می کند
وضعیت دستورات ناهمزمان؛ دیدن کار کنترل زیر). هنگامی که یک فرمان ناهمزمان است
هنگامی که کنترل کار غیرفعال است (یعنی در اکثر اسکریپت ها) شروع می شود، دستور با آن شروع می شود
سیگنال های SIGINT و SIGQUIT نادیده گرفته شده و ورودی از آن هدایت می شود / dev / null (با این حال،
تغییر مسیرهای مشخص شده در دستور ناهمزمان دارای اولویت هستند). عملگر '|&'
یک فرآیند مشترک را شروع می کند که یک نوع خاص از فرآیند ناهمزمان است (نگاه کنید به فرآیندهای مشترک
زیر). توجه داشته باشید که یک دستور باید از «&&» و «||» پیروی کند. اپراتورها، در حالی که نیازی به آن نیست
"&"، "|&"، یا ";" را دنبال کنید. وضعیت خروج از لیست آخرین فرمان اجرا شده است،
به استثنای لیست های ناهمزمان که وضعیت خروج برای آنها 0 است.

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

case other تابع پس از آن ! (
اگر زمان [[ ((
انجام شد تا زمانی که {
elif برای انتخاب در حالی که }

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

$ { echo foo; نوار اکو؛ }
$ { echo foo; نوار اکو }
$ { { echo foo; نوار اکو؛ } }

این معتبر نیست:

$ { echo foo; نوار اکو }

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

{ فهرست; }
ساختار مرکب؛ فهرست اجرا می شود، اما نه در زیر پوسته. توجه داشته باشید که "{" و "}"
کلمات محفوظ هستند، نه متا کاراکترها.

مورد کلمه که در [[(] الگو [| الگو]...) فهرست تعطیل کننده] ... اساک
La مورد تلاش بیانیه برای تطبیق کلمه در برابر مشخص شده الگو؛ فهرست
مرتبط با اولین الگوی مطابق با موفقیت اجرا می شود. الگوهای مورد استفاده در
مورد عبارات مشابه مواردی هستند که برای الگوهای نام فایل استفاده می شوند با این تفاوت که
محدودیت های مربوط به '.' و '/' حذف می شوند. توجه داشته باشید که هر فضای بدون نقل قول قبلی
و پس از کنده شدن یک الگو؛ هر فضایی در یک الگو باید نقل قول شود. هر دو
کلمه و الگوها در معرض جایگزینی پارامتر، دستور و حساب هستند،
و همچنین جایگزینی تایلد.

به دلایل تاریخی، ممکن است به جای مهاربندهای باز و بسته استفاده شود in و که C به عنوان مثال
مورد $ foo { *) از دست بار ;; }.

لیست تعطیل کنندهs هستند:

';;' پس از لیست خاتمه دهید.

';&' وارد لیست بعدی شوید.

';|' تاپل های لیست الگوی باقی مانده را ارزیابی کنید.

وضعیت خروج از a مورد بیانیه اعدام شدگان است فهرست; اگر نه فهرست is
اجرا شد، وضعیت خروج صفر است.

برای نام [که در کلمه ...]؛ انجام دادن فهرست; انجام شده
برای هر یک از کلمه در لیست کلمات مشخص شده، پارامتر نام به کلمه و
فهرست اجرا می شود. اگر in برای تعیین لیست کلمات، پارامترهای موقعیتی استفاده نمی شود
($1، $2، و غیره) به جای آن استفاده می شود. بنا به دلایل تاریخی، مهاربندها ممکن است باز و بسته شوند
به جای استفاده می شود do و انجام شده به عنوان مثال برای i; { از دست $i; }. وضعیت خروج از a برای
بیانیه آخرین وضعیت خروجی است فهرست؛ اگر فهرست هرگز اجرا نمی شود، وضعیت خروج
صفر است

if فهرست؛ سپس فهرست; [الیف فهرست؛ سپس فهرست;] ... [دیگر فهرست;] فی
اگر وضعیت خروج از اول فهرست صفر است، دومی فهرست اجرا می شود؛ در غیر این صورت،
la فهرست پس از الیف، در صورت وجود، با عواقب مشابهی اجرا می شود. اگر همه
لیست های زیر if و الیفs fail (یعنی خروج با وضعیت غیر صفر)، the فهرست
پس از دیگر اجرا می شود. وضعیت خروج از یک if بیانیه این است که غیر
مشروط فهرست که اجرا می شود؛ اگر نه غیر مشروط فهرست اجرا می شود، خروج
وضعیت صفر است

را انتخاب کنید نام [که در کلمه ...]؛ انجام دادن فهرست; انجام شده
La را انتخاب کنید بیانیه یک روش خودکار برای ارائه منو به کاربر ارائه می دهد
و از بین آن انتخاب کنید. لیستی از موارد مشخص شده کلمه(s) بر روی چاپ شده است
خطای استاندارد، به دنبال آن یک اعلان (PS3: معمولاً '#؟'). یک عدد مربوط به
سپس یکی از کلمات شمارش شده از ورودی استاندارد خوانده می شود، نام روی تنظیم شده است
کلمه انتخاب شده (یا تنظیم نشده اگر انتخاب معتبر نیست)، پاسخ به آنچه خوانده شده تنظیم می شود
(فضای پیشرو/دنباله خالی شده است)، و فهرست اجرا می شود. اگر یک خط خالی (یعنی
صفر یا بیشتر هشت IFS) وارد می شود، منو بدون اجرا دوباره چاپ می شود فهرست.

چه زمانی فهرست تکمیل می شود، اگر REPLY NULL باشد، لیست شماره گذاری شده چاپ می شود
چاپ شده و غیره این روند تا زمانی ادامه می یابد که انتهای فایل خوانده شود، یک وقفه
دریافت می شود یا الف شکستن دستور داخل حلقه اجرا می شود. اگر «در کلمه ...» باشد
حذف، پارامترهای موقعیتی استفاده می شود (یعنی $1، $2، و غیره). برای تاریخی
به دلایلی، ممکن است به جای آن از بریس های باز و بسته استفاده شود do و انجام شده به عنوان مثال را انتخاب کنید i; {
از دست $i; }. وضعیت خروج از a را انتخاب کنید عبارت صفر است اگر a شکستن بیانیه است
برای خروج از حلقه استفاده می شود، در غیر این صورت غیر صفر است.

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

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

تابع نام { فهرست; }
تابع را تعریف می کند نام (نگاه کنید به توابع زیر). توجه داشته باشید که تغییر مسیرها مشخص شده است
پس از تعریف یک تابع، هر زمان که تابع اجرا می شود، انجام می شود، نه زمانی که
تعریف تابع اجرا می شود.

نام() فرمان
بیشتر همان تابع (نگاه کنید به توابع زیر). فضای خالی (فضا یا برگه) بعد از
نام بیشتر اوقات نادیده گرفته خواهد شد.

تابع نام() { فهرست; }
همان نام() (بر هم زدنism). در تابع کلمه کلیدی نادیده گرفته می شود

زمان [-p] [خط لوله]
La فرمان اعدام بخش توصیف می کند زمان کلمه رزرو شده

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

[[ بیان ]]
شبیه به آزمون و [ ... ] دستورات (در ادامه توضیح داده شد)، با موارد زیر
استثناها:

· تقسیم فیلد و تولید نام فایل روی آرگومان ها انجام نمی شود.

· La -a (و و -o عملگرهای (OR) به ترتیب با '&&' و '||' جایگزین می شوند.

· اپراتورها (به عنوان مثال-f'، '='، '!') باید بدون نقل قول باشد.

· جایگزینی پارامترها، دستورات و ریاضیات به صورت عبارات انجام می شود
ارزیابی عبارت ارزیابی شده و تنبل برای "&&" و "||" استفاده می شود. اپراتورها
این بدان معناست که در عبارت زیر، $( اگر و فقط اگر ارزیابی می شود
فایل فو وجود دارد و قابل خواندن است:

$ [[ -r foo && $(

· عملوند دوم عبارات '!=' و '=' زیرمجموعه ای از الگوها هستند (به عنوان مثال
مقایسه [[ فوبار = f*r ]] موفق می شود). این حتی به طور غیر مستقیم کار می کند:

$ bar=foobar; baz='f*r'
$ [[ $bar = $baz ]]; اکو $؟
$ [[ $bar = "$baz" ]]; اکو $؟

شاید با کمال تعجب، مقایسه اول موفق باشد، در حالی که مقایسه دوم موفق نیست.
این در حال حاضر برای همه متاکاراکترهای extglob اعمال نمی شود.

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

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

بک گراند توسعه
در مکان‌هایی که اسلش‌های معکوس گسترش می‌یابند، C و AT&T UNIX خاص هستند ksh یا گنو بر هم زدن سبک
فرار ترجمه شده است. اینها عبارتند از '\a'، '\b'، '\f'، '\n'، '\r'، '\t'، '\U########،
'\u####' و '\v'. برای "\U#########" و "\u####"، "#" به معنای یک رقم هگزا دسیمال، به ضخامت است.
ممکن است تا چهار یا هشت مورد وجود نداشته باشد. این Escape ها یک کد یونیکد را به UTF-8 ترجمه می کنند.
علاوه بر این، '\E' و '\e' به کاراکتر فرار گسترش می‌یابند.

در چاپ حالت داخلی، "\"، "\"، و "\?" به صراحت حذف می شوند؛ دنباله های هشتگانه
باید هیچ تا سه رقم هشتی "#" با پیشوند رقم صفر ('\0###') داشته باشد.
دنباله های هگزا دسیمال '\x##' محدود به هیچ کدام تا دو رقم هگزادسیمال "#" هستند. هر دو
توالی‌های هشت‌گانه و هگزادسیمال به هشت‌های خام تبدیل می‌شوند. '\#'، جایی که # هیچ یک از موارد بالا نیست،
به \# ترجمه می شود (اسلش های معکوس حفظ می شوند).

گسترش بک اسلش در حالت سبک C کمی متفاوت است: دنباله های هشتگانه "\###" باید داشته باشند
بدون رقم صفر پیشوند یک تا سه رقم اکتالی "#" و تولید octets خام.
دنباله های هگزادسیمال '\x#*' حریصانه تا آنجا که می توانند رقم هگزا دسیمال "#" را می خورند و
با اولین رقم غیر هگزادسیمال خاتمه دهید. اینها یک کد یونیکد را به ترجمه می کنند
UTF-8. دنباله '\c#'، که در آن "#" یک اکتت است، به Ctrl-# ترجمه می شود (که اساساً
یعنی "\c؟" تبدیل به DEL می شود، هر چیز دیگری به صورت بیتی با 0x1F AND می شود. در نهایت، '\#'، جایی که
# هیچکدام از موارد بالا نیست، به # ترجمه می شود (قطع پشت آن کوتاه شده است)، حتی اگر یک
خط جدید.

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

نام مستعار دستور زیر به طور خودکار توسط پوسته تعریف می شود:

autoload='\typeset -fu'
functions='\typeset -f'
hash='\builtin نام مستعار -t'
history='\builtin fc -l'
integer='\typeset -i'
local='\typeset'
login='\exec login'
nameref='\typeset -n'
nohup='nohup'
r='\builtin fc -e -'
type='\builtin wherece -v'

نام مستعار ردیابی شده به پوسته اجازه می دهد تا به خاطر بیاورد که در آن یک دستور خاص را پیدا کرده است. اولین
زمانی که پوسته برای دستوری که به عنوان نام مستعار ردیابی شده مشخص شده است، مسیر را جستجو می کند، ذخیره می کند
مسیر کامل فرمان دفعه بعد که دستور اجرا می شود، پوسته آن را بررسی می کند
مسیر ذخیره شده را برای مشاهده اینکه هنوز معتبر است، و اگر چنین است، از تکرار جستجوی مسیر خودداری کنید.
نام مستعار ردیابی شده را می توان با استفاده از فهرست و ایجاد کرد نام مستعار -t. توجه داشته باشید که تغییر PATH
پارامتر مسیرهای ذخیره شده را برای همه نام های مستعار ردیابی شده پاک می کند. اگر مسیر گزینه تنظیم شده است
(به عنوان مثال تنظیم -o مسیر or تنظیم -h، پوسته تمام دستورات را دنبال می کند. این گزینه تنظیم شده است
به طور خودکار برای پوسته های غیر تعاملی. برای پوسته های تعاملی، فقط موارد زیر
دستورات به طور خودکار ردیابی می شوند: گربه(1) cc(1) chmod(1) cp(1) تاریخ(1) ed(1)
ایمکس(1) grep استفاده(1) ls(1) ساخت(1) mv(1) pr(1) rm(1) SED(1) sh(1) vi(1)، و که(1).

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

نوع دیگری از جایگزینی، valsubs (جایگزینی ارزش) ${| استفرمان؛} که هستند
همچنین در محیط فعلی مانند funsubs اجرا می شود، اما I/O خود را با والدین به اشتراک می گذارد.
در عوض، آنها به هر چیزی که در ابتدا خالی، متغیر محلی عبارت REPLY باشد، ارزیابی می کنند
تنظیم شده در داخل فرمانs.

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

مثال: اگر IFS روی "تنظیم شود :" و VAR روی تنظیم شده است
" آ : B::D، جایگزینی برای $VAR در چهار فیلد نتیجه می گیرد: 'A'،
"B"، "" (یک فیلد خالی)، و "D". توجه داشته باشید که اگر پارامتر IFS روی خالی تنظیم شود
رشته، هیچ تقسیم فیلد انجام نمی شود. اگر تنظیم نشده باشد، مقدار پیش‌فرض space، tab و
خط جدید استفاده می شود.

همچنین، توجه داشته باشید که تقسیم میدان فقط برای نتیجه فوری اعمال می شود
جایگزینی با استفاده از مثال قبلی، جایگزینی برای $VAR:E منجر به
فیلدهای: "A"، "B"، "" و "D:E"، نه "A"، "B"، ""، "D" و "E". این رفتار POSIX است
سازگار، اما ناسازگار با برخی دیگر از پیاده سازی های پوسته که تقسیم فیلد را انجام می دهند
روی کلمه ای که حاوی جایگزینی است یا از IFS به عنوان جداکننده فضای خالی عمومی استفاده کنید.

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

جایگزینی دستور با خروجی تولید شده توسط فرمان مشخص شده جایگزین می شود
اجرا در زیر پوسته برای $(فرمان) و ${|فرمان;} و ${ فرمان;} تعویض، طبیعی است
قوانین نقل قول زمانی استفاده می شود فرمان تجزیه می شود با این حال، برای منسوخ شده `فرمانشکل، الف
"\" به دنبال هر یک از "$"، """ یا "\" حذف می شود (همانطور که """ وقتی جایگزینی بخشی است
از یک رشته دو نقل قول)؛ علامت معکوس '\' به دنبال هر کاراکتر دیگری بدون تغییر است.
به عنوان یک مورد خاص در جایگزینی فرمان، دستور فرمپرونده تفسیر می شود
معنی جایگزین محتویات پرونده. توجه داشته باشید که $( همان اثر را دارد $ (گربه فو).

توجه داشته باشید که برخی از پوسته ها از تجزیه کننده بازگشتی برای جایگزینی دستور استفاده نمی کنند که منجر به
شکست برای سازه های خاص؛ برای قابل حمل بودن، به عنوان راه حل از 'x=$(cat) <<"EOF"' (یا the
newline-keeping 'x=<<"EOF"' extension) به جای این که صرفاً رشته را به هم بزند. IEEE Std 1003.1
("POSIX.1") توصیه می کند از دستورات case به شکل 'x=$(case $foo در (bar) echo $bar استفاده کنید
;; (*) echo $baz ;; esac)' به جای آن، که کار می کند اما به عنوان نمونه ای برای این کار نیست
مسئله حمل و نقل

x=$(مورد $foo در نوار) ​​echo $bar ;; *) echo $baz ;; اساک)
# بالا در پوسته های قدیمی تجزیه نمی شود. در زیر راه حل است
x=$(Eval $(cat)) <<"EOF"
case $foo در نوار) ​​echo $bar ;; *) echo $baz ;; اساک
EOF

جایگزین های حسابی با مقدار عبارت مشخص شده جایگزین می شوند. برای
به عنوان مثال، فرمان چاپ $((2+3*4)) نمایش 14. ببینید حساب اصطلاحات برای
توصیف یک عبارت

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

جایگزینی پارامترها به شکل $ استنام، ${نام} یا ${نام[صادرات]} جایی که نام هست یک
نام پارامتر جایگزینی همه عناصر آرایه با ${نام[*]} و ${نام[@]} آثار
معادل $* و $@ برای پارامترهای موقعیتی. اگر جایگزینی روی الف انجام شود
پارامتر (یا عنصر پارامتر آرایه) که تنظیم نشده است، یک رشته تهی جایگزین می شود
مگر اینکه اسم مجموعه گزینه (تنظیم -o اسم مجموعه or تنظیم -u) تنظیم می شود که در این صورت خطایی رخ می دهد.

پارامترها را می‌توان به روش‌های مختلفی به مقادیر اختصاص داد. اول، پوسته به طور ضمنی تنظیم می شود
برخی از پارامترها مانند '#'، 'PWD' و '$'; این تنها راهی است که شخصیت واحد خاص
پارامترها تنظیم شده است. دوم، پارامترها از محیط پوسته وارد می شوند
استارت آپ. سوم، پارامترها را می توان مقادیری را در خط فرمان اختصاص داد: به عنوان مثال، FOO = نوار
پارامتر "FOO" را روی "bar" تنظیم می کند. تخصیص چند پارامتر را می توان در یک واحد داده شد
خط فرمان و آنها را می توان با یک دستور ساده دنبال کرد، در این صورت تکالیف هستند
فقط در طول مدت فرمان اعمال می شود (چنین تخصیصی نیز صادر می شود؛ ببینید
در زیر برای پیامدهای این). توجه داشته باشید که هم نام پارامتر و هم "=" باید باشد
بدون نقل قول برای پوسته برای تشخیص تخصیص پارامتر. سازه FOO+=باز همچنین
شناسایی شده؛ ارزش های قدیم و جدید بلافاصله به هم متصل می شوند. راه چهارم تنظیم
یک پارامتر با صادرات, جهانی, فقط خواندنیو نوع دستورات؛ آنها را ببینید
توضیحات در فرمان اعدام بخش. پنجم، برای و را انتخاب کنید حلقه ها پارامترها را تنظیم می کند
و همچنین به عنوان گرفتن, خواندنو تنظیم -A دستورات در نهایت، پارامترها را می توان اختصاص داد
مقادیر با استفاده از عملگرهای انتساب در عبارات حسابی (نگاه کنید به حساب اصطلاحات
زیر) یا با استفاده از ${نام=ارزش} فرم جایگزینی پارامتر (به زیر مراجعه کنید).

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

اصلاح کننده ها را می توان برای ${ اعمال کردنام} فرم جایگزینی پارامتر:

${نام:-کلمه}
If نام تنظیم شده است و NULL نیست، جایگزین می شود. در غیر این صورت، کلمه جایگزین شده است.

${نام:+کلمه}
If نام تنظیم شده است و NULL نیست، کلمه جایگزین می شود؛ در غیر این صورت، هیچ چیز جایگزین نمی شود.

${نام:=کلمه}
If نام تنظیم شده است و NULL نیست، جایگزین می شود. در غیر این صورت اختصاص داده می شود کلمه و
مقدار حاصل از نام جایگزین شده است.

${نام:?کلمه}
If نام تنظیم شده است و NULL نیست، جایگزین می شود. در غیر این صورت، کلمه چاپ شده بر روی
خطای استاندارد (قبل از نام:) و خطایی رخ می دهد (به طور معمول باعث خاتمه می شود
از یک اسکریپت پوسته، تابع، یا اسکریپت که با استفاده از "." داخلی). اگر کلمه is
حذف شده، رشته "پارامتر null or not set" به جای آن استفاده می شود. در حال حاضر یک باگ،
if کلمه متغیری است که به رشته تهی گسترش می یابد، پیام خطا نیز وجود دارد
چاپ شده.

توجه داشته باشید که برای همه موارد فوق، کلمه در واقع نقل قول و تجزیه ویژه در نظر گرفته می شود
قوانین اعمال می شود. قوانین تجزیه همچنین در مورد دو نقل قول بودن عبارت متفاوت است: کلمه
سپس از قواعد نقل قول دوگانه استفاده می کند، به جز خود نقل قول دوگانه ('"') و بسته شدن
مهاربند، که اگر اسلش بک گریز باشد، مظنه حذف اعمال می شود.

در اصلاح کننده های بالا، ":" را می توان حذف کرد، در این صورت شرایط فقط به این بستگی دارد
نام در حال تنظیم (بر خلاف set و نه NULL). اگر کلمه مورد نیاز است، پارامتر، فرمان،
محاسبات و جایگزینی تایلد روی آن انجام می شود. اگر کلمه مورد نیاز نیست، نیست
ارزیابی شد.

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

${#نام}
تعداد پارامترهای موقعیتی اگر نام '*'، '@'، یا مشخص نشده است. در غیر این صورت
طول (به کاراکتر) مقدار رشته پارامتر نام.

${#نام[*]}
${#نام[@]}
تعداد عناصر موجود در آرایه نام.

${%نام}
عرض (در ستون های صفحه) مقدار رشته پارامتر نام، یا -1 اگر
${نام} حاوی یک کاراکتر کنترلی است.

${!نام}
نام متغیری که توسط نام. این خواهد بود نام به جز زمانی که نام is
یک مرجع نام (متغیر محدود)، ایجاد شده توسط نامرف فرمان (که نام مستعار است
برای نوع -n).

${!نام[*]}
${!نام[@]}
نام شاخص ها (کلیدها) در آرایه نام.

${نام#الگو}
${نام##الگو}
If الگو با ابتدای مقدار پارامتر مطابقت دارد نام، متن مطابق است
از نتیجه تعویض حذف شد. یک "#" در کوتاه ترین نتیجه می شود
مسابقه، و دو تای آنها طولانی ترین مسابقه را به همراه دارد. را نمی توان برای یک برداری اعمال کرد
(${*} یا ${@} یا ${array[*]} یا ${array[@]}).

${نام%الگو}
${نام%%الگو}
مانند جایگزینی ${..#..}، اما از انتهای مقدار حذف می شود. نمیتونه باشه
به یک بردار اعمال می شود.

${نام/الگو/رشته}
${نام/#الگو/رشته}
${نام/%الگو/رشته}
${نام//الگو/رشته}
طولانی ترین مسابقه از الگو در مقدار پارامتر نام جایگزین می شود رشته
(اگر حذف شد رشته خالی است؛ اسلش انتهایی ('/') ممکن است در این مورد حذف شود).
یک اسلش پیشرو به دنبال «#» یا «%» باعث می‌شود که الگو در نقطه ثابت شود
ابتدا یا انتهای مقدار به ترتیب؛ خالی بدون لنگر الگوعلت نه
جایگزینی؛ یک اسلش یا استفاده از a الگو که با خالی مطابقت دارد
رشته باعث می شود که جایگزینی فقط یک بار اتفاق بیفتد. دو اسلش پیشرو باعث همه می شود
موارد منطبق در مقداری که باید جایگزین شود. را نمی توان برای یک برداری اعمال کرد.
اجرا ناکارآمد، ممکن است کند باشد.

${نام:پست:لن}
اول لن شخصیت های نام، از موقعیت شروع می شود پست، جایگزین می شوند. هر دو
پست و:لن اختیاری هستند. اگر پست منفی است، شمارش در پایان شروع می شود
رشته؛ اگر حذف شود، پیش‌فرض 0 است. اگر لن حذف شده یا بزرگتر از
طول رشته باقی مانده، همه آن جایگزین می شود. هر دو پست و لن هستند
به عنوان عبارات حسابی ارزیابی می شود. در حال حاضر، پست باید با یک فاصله شروع شود،
پرانتز باز یا رقمی که باید شناسایی شود. را نمی توان برای یک برداری اعمال کرد.

${نام@#}
هش (با استفاده از الگوریتم BAFH) از بسط نام. این نیز استفاده می شود
به صورت داخلی برای هشت‌تبل‌های پوسته.

${نام@Q}
یک عبارت نقل قول امن برای ورود مجدد، که مقدار آن مقدار است نام
پارامتر، جایگزین می شود.

توجه داشته باشید که الگو ممکن است به الگوی globbing گسترده (@(...))، تک ('...') یا دوتایی نیاز داشته باشد
("...") نقل قول فرار می کند مگر اینکه -o sh تنظیم شده است

پارامترهای ویژه زیر به طور ضمنی توسط پوسته تنظیم می شوند و نمی توانند مستقیماً تنظیم شوند
با استفاده از تکالیف:

! شناسه فرآیند آخرین فرآیند پس‌زمینه آغاز شده است. اگر هیچ فرآیند پس زمینه ای نداشته باشد
شروع شده است، پارامتر تنظیم نشده است.

# تعداد پارامترهای موقعیتی ($1، $2، و غیره).

$ PID پوسته یا PID پوسته اصلی اگر زیر پوسته باشد. انجام دادن نه
از این مکانیسم برای تولید نام فایل های موقت استفاده کنید. دیدن mktemp(1) در عوض.

- الحاق گزینه های تک حرفی فعلی (به تنظیم دستور زیر
برای لیستی از گزینه ها).

? وضعیت خروج آخرین فرمان غیرهمزمان اجرا شده. اگر آخرین دستور
توسط یک سیگنال کشته شد، $? روی 128 به اضافه شماره سیگنال، اما حداکثر 255 تنظیم شده است.

0 نام پوسته، به شرح زیر تعیین می شود: اولین آرگومان به با تشکر اگر بود
فراخوانی شده با -c گزینه و استدلال داده شد. در غیر این صورت پرونده استدلال، اگر
عرضه شد؛ یا در غیر این صورت نام پایه پوسته با آن فراخوانی شده است (یعنی argv[0]). $0
همچنین به نام اسکریپت فعلی یا نام تابع فعلی تنظیم شده است،
اگر با تعریف شده بود تابع کلمه کلیدی (یعنی تابع سبک پوسته Korn).

1 .. 9 XNUMX پارامتر موقعیتی اول که به پوسته، تابع یا
منبع اسکریپت با استفاده از "." ساخته شده است. پارامترهای موقعیتی بیشتری ممکن است باشد
با استفاده از ${ قابل دسترسی استعدد}.

* تمام پارامترهای موقعیتی (به جز 0)، یعنی $1، $2، $3، ...
اگر خارج از دو نقل قول استفاده شود، پارامترها کلمات جداگانه ای هستند (که در معرض قرار می گیرند
به تقسیم کلمه)؛ اگر در داخل گیومه های دوگانه استفاده شود، پارامترها با علامت از هم جدا می شوند
اولین کاراکتر پارامتر IFS (یا رشته خالی اگر IFS NULL باشد).

@ مثل $*، مگر اینکه در داخل گیومه های دوگانه استفاده شود که در این صورت یک کلمه جداگانه است
برای هر پارامتر موقعیتی تولید می شود. اگر هیچ پارامتر موقعیتی وجود نداشته باشد، خیر
کلمه تولید می شود. $@ می توان برای دسترسی به آرگومان ها، کلمه به کلمه، بدون از دست دادن استفاده کرد
آرگومان های NULL یا تقسیم آرگومان ها با فاصله.

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

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

BASHPID PID پوسته یا زیر پوسته.

CDPATH مانند PATH است، اما برای حل استدلال به استفاده می شود cd دستور داخلی توجه داشته باشید
که اگر CDPATH تنظیم شده باشد و حاوی «.» نباشد. یا یک عنصر رشته خالی، the
فهرست فعلی جستجو نشده است. همچنین cd دستور داخلی نمایش داده می شود
دایرکتوری به دست آمده زمانی که یک تطابق در هر مسیر جستجوی دیگری غیر از
مسیر خالی

COLUMNS تعداد ستون های ترمینال یا پنجره را تنظیم کنید. همیشه تنظیم، پیش‌فرض
تا 80، مگر اینکه مقداری که توسط استی(1) غیر صفر و به اندازه کافی عاقل است
(حداقل 12x3 است)؛ مشابه برای LINES. این پارامتر توسط
حالت های ویرایش خط تعاملی، و توسط را انتخاب کنید, تنظیم -oو کشتن -l دستورات
برای قالب بندی ستون های اطلاعاتی وارد کردن از محیط یا unsetting
این پارامتر اتصال به اندازه ترمینال واقعی را به نفع آن حذف می کند
ارزش ارائه شده

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

ERRNO مقدار صحیح پوسته ارنو متغیر. دلیل آخر را نشان می دهد
تماس سیستمی ناموفق بود. هنوز اجرایی نشده است.

EXECSHELL اگر تنظیم شود، فرض می‌شود که این پارامتر حاوی پوسته‌ای است که قرار است از آن استفاده شود
دستوراتی را که اجرا کردن(2) اجرا نمی شود و با a شروع نمی شوند
"#!صدف" توالی.

FCEDIT ویرایشگر استفاده شده توسط fc فرمان (به زیر مراجعه کنید).

FPATH مانند PATH، اما زمانی که یک تابع تعریف نشده برای مکان یابی فایل اجرا می شود استفاده می شود.
تعریف تابع همچنین زمانی که دستوری با استفاده از آن یافت نمی شود جستجو می شود
مسیر. دیدن توابع زیر برای اطلاعات بیشتر

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

توجه داشته باشید: اگر HISTFILE تنظیم نشده یا خالی باشد، هیچ فایل سابقه ای استفاده نمی شود. این هست
متفاوت از AT&T UNIX ksh.

HISTSIZE تعداد دستوراتی که معمولاً برای تاریخچه ذخیره می شوند. پیش فرض 2047 است. انجام دهید
این مقدار را روی مقادیر بسیار بالا مانند 1000000000 تنظیم نکنید زیرا با تشکر می توان
سپس حافظه کافی برای تاریخ تخصیص داده نمی شود و شروع نمی شود.

HOME دایرکتوری پیش فرض برای cd دستور و مقدار جایگزین an
فاقد صلاحیت ~ (نگاه کنید به تیلد توسعه در زیر).

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

توجه داشته باشید: این پارامتر زمانی که پوسته است از محیط وارد نمی شود
آغاز شده.

KSHEGID شناسه گروه موثر پوسته.

KSHGID شناسه گروه واقعی پوسته.

KSHUID شناسه کاربری واقعی پوسته.

KSH_VERSION نام و نسخه پوسته (فقط خواندنی). دستورات نسخه را نیز ببینید
in Emacs ویرایش حالت و Vi ویرایش حالت بخش ها، در زیر

LINENO شماره خط تابع یا پوسته اسکریپت که در حال حاضر وجود دارد
اجرا شده.

خطوط روی تعداد خطوط روی ترمینال یا پنجره تنظیم کنید. همیشه تنظیم شده، پیش‌فرض روی
24. ستون ها را ببینید.

EPOCHREALTIME
زمان از دوران، به عنوان بازگشت توسط گرفتن وقت روز(2)، قالب بندی شده به صورت اعشاری
tv_sec به دنبال آن یک نقطه ('.') و tv_usec دقیقاً به شش اعشار اضافه شده است
رقم

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

OPTARG هنگام استفاده گرفتن، حاوی آرگومان یک گزینه تجزیه شده است، اگر آن را داشته باشد
به یکی نیاز دارد

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

PATH یک دونقطه (نقطه ویرگول در OS/2) فهرستی از دایرکتوری های جستجو شده جدا شده است
هنگامی که به دنبال دستورات و فایل هایی می گردید که با استفاده از ". فرمان (به زیر مراجعه کنید).
یک رشته خالی که از یک کولون پیشرو یا انتهایی، یا دو مجاور ایجاد می شود
کولون، به عنوان یک "." (دایرکتوری فعلی).

PGRP شناسه فرآیند رهبر گروه فرآیند پوسته.

PIPESTATUS آرایه ای حاوی کدهای سطح خطا (وضعیت خروج)، یکی یکی، آخرین کدها
خط لوله در پیش زمینه اجرا می شود.

PPID شناسه فرآیند والد پوسته.

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

اعلان پیش‌فرض برای کاربران غیر ریشه «$»، برای روت «#» است. اگر با تشکر is
توسط root فراخوانی می شود و PS1 دارای کاراکتر «#»، مقدار پیش فرض نیست
حتی اگر PS1 از قبل در محیط وجود داشته باشد استفاده خواهد شد.

La با تشکر توزیع همراه با یک نمونه است dot.mkshrc حاوی یک پیچیده
به عنوان مثال، اما ممکن است مورد زیر را دوست داشته باشید (توجه داشته باشید که
${HOSTNAME:=$(hostname)} و عبارت متمایز root-vs-user عبارتند از (در
این مثال) در زمان انتساب PS1 اجرا می شود، در حالی که $USER و $PWD هستند
فرار کرد و بنابراین هر بار که یک درخواست نمایش داده می شود ارزیابی می شود:

PS1='${USER:=$(id -un)}'"@${HOSTNAME:=$(نام میزبان)}:\$PWD $(
اگر (( USER_ID )); سپس چاپ \$; other print \#; فی)"

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

از آنجایی که بک اسلش و سایر کاراکترهای خاص ممکن است توسط پوسته تفسیر شوند،
برای تنظیم PS1 یا از بک اسلش فرار کنید، یا از نقل قول های دوگانه استفاده کنید. در
دومی کاربردی تر است. این مثال پیچیده تری است که از مستقیم اجتناب می کند
کاراکترهای خاص را وارد کنید (به عنوان مثال با ^V در حالت ویرایش emacs)، که
دایرکتوری کاری فعلی را در ویدیوی معکوس جاسازی می کند (رنگ کار می کند،
نیز)، در رشته درخواست:

x=$(چاپ \\001)
PS1="$x$(print \\r)$x$(tput so)$x\$PWD$x$(tput se)$x> "

با توجه به پیشنهاد قوی دیوید جی کورن، با تشکر در حال حاضر نیز پشتیبانی می کند
فرم زیر:

PS1=$'\1\r\1\e[7m\1$PWD\1\e[0m\1> '

رشته درخواست ثانویه PS2، به طور پیش‌فرض '>'، زمانی که به ورودی بیشتری نیاز است استفاده می‌شود
یک دستور را کامل کنید

PS3 Prompt استفاده شده توسط را انتخاب کنید بیانیه هنگام خواندن انتخاب منو. پیشفرض
است '#؟ '.

PS4 برای پیشوند دستوراتی که در طول ردیابی اجرا چاپ می‌شوند استفاده می‌شود تنظیم
-x دستور زیر). جایگزینی پارامتر، دستور و حساب می باشد
قبل از چاپ انجام شود. پیش فرض '+' است. ممکن است بخواهید آن را تنظیم کنید
به «[$EPOCHREALTIME]» در عوض، برای درج مُهرهای زمانی.

PWD دایرکتوری فعلی. اگر پوسته نداند ممکن است تنظیم نشده یا NULL باشد
کجاست

تصادفی هر بار که RANDOM ارجاع داده می شود، عددی بین 0 تا 32767 به آن اختصاص داده می شود.
ابتدا از یک PRNG هماهنگ خطی.

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

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

TMOUT اگر روی یک عدد صحیح مثبت در یک پوسته تعاملی تنظیم شود، حداکثر را مشخص می کند
چند ثانیه پوسته پس از چاپ اولیه منتظر ورودی می ماند
درخواست (PS1). اگر زمان بیش از حد باشد، پوسته خارج می شود.

TMPDIR فایل‌های پوسته موقت دایرکتوری ایجاد می‌شوند. اگر این پارامتر نباشد
مجموعه، یا شامل مسیر مطلق دایرکتوری قابل نوشتن نیست، موقت است
فایل ها در ایجاد می شوند دایرکتوری / tmp.

USER_ID شناسه کاربر موثر پوسته.

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

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

فهرست اصلی نام‌های لاگینی که قبلاً گسترش یافته‌اند ذخیره شده و مجدداً استفاده می‌شوند. در نام مستعار -d
دستور ممکن است برای فهرست کردن، تغییر و افزودن به این کش استفاده شود (مثلاً نام مستعار -d
fac=/usr/local/facilities; cd ~fac/bin).

برس توسعه (تناوب)
عبارات بریس به شکل زیر است:

پیشوند{p1، ... ،strN}پسوند

عبارات به گسترش می یابد N کلماتی که هر کدام از آنها بهم پیوسته است پیشوند, خi,
و پسوند (به عنوان مثال "a{c,b{X,Y},d}e" به چهار کلمه گسترش می یابد: "ace"، "abXe"، "abYe" و "ade").
همانطور که در مثال ذکر شد، عبارات پرانتز را می توان تو در تو قرار داد و کلمات به دست آمده اینگونه نیستند
مرتب شده است. عبارات بریس باید حاوی یک کامای بدون نقل قول (',') باشد تا بسط ایجاد شود (مثلا
{} و {foo} گسترش نمی یابند). انبساط بریس پس از تعویض پارامتر انجام می شود
و قبل از تولید نام فایل.

پرونده نام الگوهای
الگوی نام فایل کلمه‌ای است که حاوی یک یا چند عبارت «؟»، «*»، «+»، «@»، یا «!» است.
کاراکترها یا دنباله‌های "[..]". هنگامی که انبساط بریس انجام شد، پوسته جایگزین می شود
الگوهای نام فایل با نام های مرتب شده همه فایل هایی که با الگو مطابقت دارند (اگر نه
فایل ها مطابقت دارند، کلمه بدون تغییر باقی می ماند). عناصر الگو به معنای زیر هستند:

? منطبق با هر شخصیت منفرد.

* با هر دنباله ای از هشت ها مطابقت دارد.

[..] با هر یک از هشت های داخل براکت مطابقت دارد. محدوده اکتت ها را می توان توسط
جدا کردن دو اکتت با یک '-' (مثلاً "[a0-9]" با حرف "a" یا هر رقمی مطابقت دارد).
برای نشان دادن خود، یک '-' باید یا اولین یا آخرین اکتت نقل شود
در لیست اکتت به طور مشابه، یک ']' یا اولین اکتت در لیست باید نقل قول شود
اگر قرار باشد به جای انتهای لیست، خود را نشان دهد. همچنین یک '!' ظاهر شدن
در ابتدای لیست معنای خاصی دارد (به زیر مراجعه کنید)، بنابراین برای نشان دادن خود آن
باید نقل قول شود یا بعداً در لیست ظاهر شود.

[!..] مانند [..]، با این تفاوت که با هر هشتی که در داخل پرانتز نیست مطابقت دارد.

*(الگو|...|الگو)
با هر رشته ای از اکتت که با صفر یا چند مورد مشخص شده مطابقت دارد، مطابقت دارد
الگوها مثال: الگو *(فو|بار) با رشته های ""، "foo"، "bar"،
"foobarfoo" و غیره

+(الگو|...|الگو)
با هر رشته ای از octet که با یک یا چند مورد از موارد مشخص شده مطابقت دارد مطابقت دارد
الگوها مثال: الگو +(فو|بار) با رشته های "foo"، "bar" منطبق است
"foobar" و غیره

?(الگو|...|الگو)
رشته خالی یا رشته ای که با یکی از الگوهای مشخص شده مطابقت دارد.
مثال: الگو ?(فو|بار) فقط با رشته های ""، "foo" و "bar" مطابقت دارد.

@(الگو|...|الگو)
رشته ای را که با یکی از الگوهای مشخص شده مطابقت دارد مطابقت می دهد. مثال: الگو
@(foo|بار) فقط با رشته های "foo" و "bar" مطابقت دارد.

!(الگو|...|الگو)
با هر رشته ای که با یکی از الگوهای مشخص شده مطابقت ندارد مطابقت دارد. مثال:
الگو !(فو|بار) با تمام رشته ها به جز "foo" و "bar" مطابقت دارد. الگو !(*)
با هیچ رشته ای مطابقت ندارد. الگو !(؟)* با تمام رشته ها مطابقت دارد (درباره آن فکر کنید).

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

توجه داشته باشید که با تشکرمثلا) هرگز با '.' مطابقت ندارد و '..'، اما AT&T UNIX ksh، بورن shو گنو
بر هم زدن انجام دهد.

توجه داشته باشید که هیچ یک از عناصر الگوی بالا با نقطه ('.') در شروع a مطابقت ندارد
نام فایل یا اسلش ('/')، حتی اگر به صراحت در یک دنباله [..] استفاده شود. همچنین
نام های '.' و '..' هرگز با هم مطابقت ندارند، حتی با الگوی '.*'.

اگر markdirs گزینه تنظیم شده است، هر دایرکتوری که از تولید نام فایل حاصل می شود، هستند
با علامت "/" انتهایی مشخص شده است.

ورودی خروجی تغییر مسیر
هنگامی که یک فرمان اجرا می شود، ورودی استاندارد، خروجی استاندارد و خطای استاندارد (فایل
توصیف کننده های 0، 1، و 2 به ترتیب) معمولاً از پوسته به ارث می رسند. سه
استثناهای این دستورات در خطوط لوله هستند که ورودی استاندارد و/یا استاندارد برای آنهاست
خروجی آنهایی هستند که توسط خط لوله تنظیم می شوند، دستورات ناهمزمانی که هنگام کنترل کار ایجاد می شوند
غیرفعال، که ورودی استاندارد در ابتدا از آن تنظیم شده است / dev / nullو دستوراتی برای
که هر یک از تغییر مسیرهای زیر مشخص شده است:

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

>|پرونده مثل >، به جز اینکه فایل کوتاه شده باشد، حتی اگر نوکلوببر گزینه تنظیم شده است.

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

<پرونده ورودی استاندارد از هدایت می شود پرونده، که برای خواندن باز می شود.

<>پرونده مثل <، به جز اینکه فایل برای خواندن و نوشتن باز می شود.

<<نشانگر پس از خواندن خط فرمان حاوی این نوع تغییر مسیر (به نام a
"در اینجا سند")، پوسته خطوط را از منبع دستور در یک کپی می کند
فایل موقت تا زمانی که یک خط مطابقت داشته باشد نشانگر خوانده می شود. هنگامی که فرمان است
اجرا شده، ورودی استاندارد از فایل موقت هدایت می شود. اگر نشانگر
حاوی هیچ کاراکتر نقل قولی نیست، محتویات فایل موقت پردازش می شود
هر بار که دستور اجرا می شود، گویی در دو گیومه قرار می گیرد، بنابراین پارامتر،
دستور، و تعویض های حسابی به همراه اسلش ('\') انجام می شود.
برای "$"، """، "\" و "\newline" فرار می کند، اما برای """ نه. اگر چند عدد در اینجا وجود دارد
اسناد در همان خط فرمان استفاده می شوند، آنها به ترتیب ذخیره می شوند.

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

<<-نشانگر مثل <<، به جز برگه های پیشرو از خطوط در سند اینجا حذف می شوند.

<<کلمه مثل <<، غیر از آن کلمه is سند اینجا به این می گویند اینجا
رشته

<&fd ورودی استاندارد از توصیفگر فایل کپی شده است fd. fd می تواند یک عدد باشد،
نشان دادن تعداد یک توصیفگر فایل موجود؛ حرف 'p' نشان می دهد
توصیفگر فایل مرتبط با خروجی فرآیند مشترک فعلی؛ یا
کاراکتر '-'، نشان می دهد که ورودی استاندارد بسته است. توجه داشته باشید که fd is
در اکثر پیاده سازی های پوسته به یک رقم محدود می شود.

>&fd مثل <&، با این تفاوت که عملیات روی خروجی استاندارد انجام می شود.

&>پرونده مثل >پرونده 2> و 1. این یک گنو (قدیمی) منسوخ شده است بر هم زدن پسوند پشتیبانی می شود
by با تشکر که از عدد fd صریح قبلی نیز پشتیبانی می کند، برای مثال،
3&>پرونده مثل این هست که 3>پرونده 2> و 3 in با تشکر اما یک خطای نحوی در گنو بر هم زدن.

&>|پرونده، &>>پرونده، &>&fd
مثل >|پرونده, >>پرونده، یا >&fd، به دنبال 2> و 1، مانند بالا. اینها هستند با تشکر
پسوند ها

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

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

$ cat /foo/bar 2>&1 >/dev/null | pr -n -t

توصیفگرهای فایل ایجاد شده توسط تغییر مسیرهای I/O برای پوسته خصوصی هستند.

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

عبارات با استفاده از محاسبات علامت دار و عدد محاسبه می شوند mksh_ari_t نوع (یک امضای 32 بیتی
عدد صحیح)، مگر اینکه با یک کاراکتر "#" شروع شوند، در این صورت از آنها استفاده می کنند mksh_uari_t (a
عدد صحیح بدون علامت 32 بیتی).

عبارات ممکن است حاوی شناسه پارامترهای عددی الفا، ارجاعات آرایه و عدد صحیح باشند
ثابت است و ممکن است با عملگرهای C زیر ترکیب شود (فهرست شده و گروه بندی شده است
افزایش ترتیب اولویت):

عملگرهای Unary:

+ - ! ~ ++ --

عملگرهای باینری:

,
= += -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
||
&&
|
^
&
==! =
<<=>> =
<<< >>> << >>
+ -
* /٪

اپراتورهای سه تایی:

?: (اولویت بلافاصله بالاتر از انتساب است)

اپراتورهای گروه بندی:

()

ثابت ها و عبارات اعداد صحیح با استفاده از پهنای 32 بیتی، علامت دار یا دقیقاً محاسبه می شوند
بدون علامت، تایپ کنید با پوشش بی صدا روی سرریز عدد صحیح. ثابت های عدد صحیح ممکن است باشد
با پایه های دلخواه با استفاده از نماد مشخص شده است پایه#عدد، که در آن پایه اعشاری است
عدد صحیح که پایه را مشخص می کند و عدد یک عدد در پایه مشخص شده است. علاوه بر این،
اعداد صحیح پایه 16 ممکن است با پیشوند آنها با '0x' (بدون حساس به حروف بزرگ) در همه مشخص شوند.
اشکال عبارات حسابی، به جز به عنوان آرگومان های عددی برای آزمون دستور داخلی
پیشوند اعداد با یک رقم صفر ('0') باعث تعبیر به عنوان هشتی نمی شود.
انجام این کار ناامن است.

به عنوان خاص با تشکر پسوند، اعداد به پایه یک به عنوان یکی (8 بیتی
شفاف) کدهای ASCII یا Unicode بسته به پوسته حالت utf8 پرچم ( فعلی
تنظیمات). یونیکس AT&T ksh93 نحو "x" به جای "1#x" نیز پشتیبانی می شود. توجه داشته باشید
که بایت های NUL (مقدار انتگرال صفر) را نمی توان استفاده کرد. یک پارامتر تنظیم نشده یا خالی
در زمینه عدد صحیح 0 را ارزیابی می کند. در حالت یونیکد، اکتت های خام در محدوده نگاشت می شوند
EF80..EFFF مانند OPTU-8 که در PUA است و توسط CSUR برای این استفاده اختصاص داده شده است. اگر
بیش از یک اکتت در حالت ASCII، یا دنباله ای از بیش از یک اکتت که یک اکتت معتبر را تشکیل نمی دهد.
و حداقل توالی CESU-8 ارسال می شود، رفتار تعریف نشده است (معمولاً پوسته سقط می شود
با یک خطای تجزیه، اما به ندرت، موفق می شود، به عنوان مثال در دنباله C2 20). به همین دلیل شما
همیشه باید از حالت ASCII استفاده کنید، مگر اینکه بدانید ورودی UTF-8 به خوبی شکل گرفته است
محدوده 0000..FFFD در صورت استفاده از این ویژگی، بر خلاف خواندن -a.

اپراتورها به شرح زیر ارزیابی می شوند:

unary +
نتیجه استدلال است (برای کامل بودن گنجانده شده است).

یگانه -
نفی.

! منطقی NOT; اگر آرگومان صفر باشد نتیجه 1 و اگر نه 0 است.

~ حسابی (بیتی) نه.

++ افزایش؛ باید روی یک پارامتر اعمال شود (نه یک عبارت تحت اللفظی یا دیگر).
پارامتر با 1 افزایش می یابد. هنگامی که به عنوان یک عملگر پیشوند استفاده می شود، نتیجه می شود
مقدار افزایش یافته پارامتر است. هنگامی که به عنوان یک عملگر postfix استفاده می شود،
نتیجه مقدار اصلی پارامتر است.

-- شبیه به ++، با این تفاوت که پارامتر با 1 کاهش می یابد.

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

= تکلیف؛ متغیر سمت چپ روی مقدار سمت راست تنظیم می شود.

+= -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
اپراتورهای واگذاریVAR><op>=صادرات> همان استVAR>=VAR><op><صادرات>,
با هر اولویت عملگر درصادرات> حفظ شده است. به عنوان مثال، "var1 * = 5 +
3" مانند مشخص کردن "var1 = var1 * (5 + 3)" است.

|| منطقی OR; اگر هر یک از آرگومان ها غیر صفر باشد، نتیجه 1 است، اگر نه، 0 است. در
آرگومان سمت راست تنها در صورتی ارزیابی می شود که آرگومان سمت چپ صفر باشد.

&& منطقی و; نتیجه 1 است اگر هر دو آرگومان غیر صفر باشند، 0 اگر نه. در
آرگومان سمت راست تنها در صورتی ارزیابی می شود که آرگومان چپ غیر صفر باشد.

| حسابی (بیتی) OR.

^ حسابی (بیتی) XOR (انحصاری-OR).

& حسابی (بیتی) و.

== برابر اگر هر دو آرگومان برابر باشند، نتیجه 1 است، اگر نه، 0 است.

!= برابر نیست. اگر هر دو آرگومان مساوی باشند، نتیجه صفر است، اگر نه، 0 است.

< کمتر از اگر آرگومان چپ کمتر از سمت راست باشد، نتیجه 1 است، اگر آرگومان چپ باشد 0 است
است.

<= > >=
کوچکتر یا مساوی، بزرگتر از، بزرگتر یا مساوی. دیدن <.

<<< >>>
چرخش به چپ (راست)؛ نتیجه مشابه تغییر است (نگاه کنید به <<) به جز اینکه
بیت هایی که در یک انتها جابه جا شده اند، به جای صفر، در انتهای دیگر جابه جا می شوند
یا بیت های علامت.

<< >> تغییر به چپ (راست)؛ نتیجه آرگومان سمت چپ با بیت های آن به سمت چپ جابه جا شده است
(راست) با مقدار داده شده در استدلال درست.

+ - * /
جمع، تفریق، ضرب و تقسیم.

% باقیمانده؛ نتیجه، باقیمانده متقارن تقسیم سمت چپ است
استدلال توسط حق برای بدست آوردن مدول ریاضی «a وزارت دفاع ب» از
فرمول «(a % b + b) % b».

<arg1arg2>:arg3>
اگرarg1> غیر صفر است، نتیجه این استarg2> در غیر این صورت نتیجه استarg3>.
آرگومان عدم نتیجه ارزیابی نمی شود.

فرآیندهای مشترک
یک فرآیند مشترک (که یک خط لوله ایجاد شده با عملگر '|&' است) یک فرآیند ناهمزمان است.
که پوسته می تواند هر دو در (با استفاده از چاپ -p) و خواندن از (استفاده از خواندن -p). ورودی
و خروجی فرآیند مشترک را نیز می توان با استفاده از دستکاری کرد >&ص و <&ص تغییر مسیرها،
به ترتیب. هنگامی که یک فرآیند مشترک آغاز شده است، دیگری نمی تواند تا زمانی که فرآیند مشترک آغاز شود
فرآیند خارج می شود، یا تا زمانی که ورودی فرآیند مشترک با استفاده از یک تغییر مسیر داده شود exec n>&ص
تغییر مسیر اگر ورودی یک فرآیند مشترک به این طریق هدایت شود، فرآیند مشترک بعدی خواهد بود
شروع شده، خروجی را با اولین فرآیند مشترک به اشتراک می گذارد، مگر اینکه خروجی اولیه باشد
فرآیند مشترک با استفاده از یک هدایت شده است exec n<&ص تغییر جهت

چند نکته در مورد فرآیندهای مشترک:

· تنها راه برای بستن ورودی هم‌فرایند (بنابراین فرآیند مشترک یک انتهای فایل را می‌خواند) این است
برای تغییر مسیر ورودی به یک توصیفگر فایل شماره گذاری شده و سپس بستن آن توصیفگر فایل:
exec 3>&p; exec 3>&-

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

· چاپ -p سیگنال های SIGPIPE را در هنگام نوشتن نادیده می گیرد اگر سیگنال به دام نیفتد یا
نادیده گرفته شد؛ اگر ورودی هم‌فرایند در فایل دیگری کپی شده باشد، همین امر صادق است
توصیف کننده و چاپ -un استفاده می شود.

توابع
توابع با استفاده از پوسته Korn تعریف می شوند تابع نام تابع نحو یا
پوسته Bourne/POSIX نام تابع() نحو (برای تفاوت بین این دو به زیر مراجعه کنید
تشکیل می دهد). توابع مانند اسکریپت های .- هستند (یعنی اسکریپت هایی که با استفاده از "." داخلی منبع می شوند) در آن
آنها در محیط فعلی اجرا می شوند. با این حال، بر خلاف .-اسکریپت ها، آرگومان های پوسته
(یعنی پارامترهای موقعیتی $1، $2، و غیره) هرگز در داخل آنها قابل مشاهده نیستند. هنگامی که پوسته است
برای تعیین مکان یک فرمان، توابع پس از داخلی خاص جستجو می شوند
دستورات، قبل از بیلدین ها و PATH جستجو شود.

یک تابع موجود ممکن است با استفاده از آن حذف شود تنظیم نشده -f نام تابع. لیستی از توابع می تواند
با استفاده از نوع +f و تعاریف تابع را می توان با استفاده از فهرست کرد نوع -f.
La بارگیری خودکار فرمان (که نام مستعار برای نوع -فو) ممکن است برای ایجاد تعریف نشده استفاده شود
توابع: هنگامی که یک تابع تعریف نشده اجرا می شود، پوسته مسیر مشخص شده در آن را جستجو می کند
پارامتر FPATH برای فایلی همنام با تابعی که در صورت یافتن خوانده می شود
و اجرا شد. اگر پس از اجرای فایل مشخص شد که تابع نامگذاری شده تعریف شده است،
تابع اجرا می شود؛ در غیر این صورت، جستجوی دستور عادی ادامه می یابد (یعنی پوسته
جدول دستورات داخلی معمولی و PATH را جستجو می کند. توجه داشته باشید که اگر دستوری پیدا نشد
با استفاده از PATH، تلاشی برای بارگیری خودکار یک تابع با استفاده از FPATH انجام می شود (این یک تابع غیرمستند است
ویژگی پوسته کورن اصلی).

توابع می توانند دو ویژگی "ردیابی" و "صادرات" داشته باشند که می توانند با آنها تنظیم شوند نوع -فت
و نوع -fx، به ترتیب. هنگامی که یک تابع ردیابی اجرا می شود، پوسته است xtrace
گزینه برای مدت زمان عملکرد روشن است. ویژگی "صادرات" توابع است
در حال حاضر استفاده نمی شود در پوسته اصلی Korn، توابع صادر شده برای پوسته قابل مشاهده هستند
اسکریپت هایی که اجرا می شوند

از آنجایی که توابع در محیط پوسته فعلی اجرا می شوند، تخصیص پارامترها انجام می شود
توابع داخلی پس از تکمیل عملکرد قابل مشاهده هستند. اگر این مطلوب نیست
اثر، نوع دستور را می توان در داخل یک تابع برای ایجاد یک پارامتر محلی استفاده کرد. توجه داشته باشید
که AT&T UNIX ksh93 از محدوده ایستا استفاده می کند (یک محدوده جهانی، یک محدوده محلی برای هر تابع)
و به متغیرهای محلی فقط در توابع سبک Korn اجازه می دهد، در حالی که با تشکر از محدوده پویا استفاده می کند
(محدوده های تو در تو با موقعیت های مختلف). توجه داشته باشید که پارامترهای خاص (مثلا $$, $!) نمی تواند باشد
به این ترتیب محدوده.

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

توابع تعریف شده با تابع در ادامه با کلمه رزرو شده متفاوت رفتار می شود
راه هایی از توابع تعریف شده با () نشانه گذاری:

· پارامتر $0 روی نام تابع تنظیم شده است (توابع به سبک بورن 0 $ را ترک می کنند
دست نخورده).

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

· OPTIND در هنگام ورود و خروج از عملکرد ذخیره/تنظیم می شود و بازیابی می شود گرفتن می تواند
هم در داخل و هم در خارج از تابع به درستی استفاده می شود (توابع سبک بورن OPTIND را ترک می کنند
دست نخورده، بنابراین استفاده می شود گرفتن داخل یک تابع با استفاده تداخل دارد گرفتن بیرون از
تابع).

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

در آینده، تفاوت های زیر نیز ممکن است اضافه شود:

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

· تله EXIT، اگر در یک تابع تنظیم شود، پس از بازگشت تابع اجرا خواهد شد.

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

اصلی ksh و POSIX تا حدودی با هم تفاوت دارند که در آن دستورات خاص یا
منظم.

ابزارهای داخلی ویژه POSIX:

., :, شکستن, ادامه دادن, ارزیابی, exec, خروج, صادرات, فقط خواندنی, برگشت, تنظیم, تغییر, بار, دام,
تنظیم نشده

اضافی با تشکر دستورات حفظ تکالیف:

خانه, جهانی, منبع, نوع, صبر کنيد

بیلتین هایی که خاص نیستند:

[, نام مستعار, bg, اتصال, گربه, cd, فرمان, از دست, غلط, fc, fg, گرفتن, شغل ها, کشتن, اجازه, چاپ,
pwd, خواندن, مسیر واقعی, تغییر نام دهید, خواب, تعلیق, آزمون, درست, اولیمیت, umask, آنالیز, از کجا

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

در زیر دستورات داخلی خاص و معمولی و رزرو شده‌های شبیه به داخلی توضیح داده شده است
کلمات:

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

: [...]
دستور null. وضعیت خروج روی صفر تنظیم شده است.

[ بیان ]
دیدن آزمون.

نام مستعار [-d | -t [-r] | +-x] [-p] [+] [نام [=ارزش] ...]
بدون استدلال، نام مستعار همه نام‌های مستعار را فهرست می‌کند. برای هر نام بدون مقدار،
نام مستعار موجود فهرست شده است. هر نامی با مقدار یک نام مستعار را تعریف می کند (نگاه کنید به نام مستعار
در بالا).

هنگام فهرست کردن نام مستعار، یکی از دو قالب استفاده می شود. به طور معمول، نام مستعار به عنوان فهرست شده است
نام=ارزش، که در آن ارزش نقل شده است. اگر قبل از گزینه‌ها «+» یا یک «+» تنها بود.
فقط در خط فرمان داده می شود نام چاپ می شود.

La -d گزینه باعث می‌شود نام‌های مستعار دایرکتوری که در بسط tilde استفاده می‌شوند فهرست شوند
یا تنظیم کنید (نگاه کنید به تیلد توسعه در بالا).

اگر -p گزینه استفاده می شود، هر نام مستعار با رشته " مستعار " پیشوند است.

La -t گزینه نشان می‌دهد که نام‌های مستعار ردیابی شده باید فهرست/تنظیم شوند (مقادیر مشخص شده است
در خط فرمان برای نام مستعار ردیابی شده نادیده گرفته می شوند). را -r گزینه نشان می دهد که
همه نام های مستعار ردیابی شده باید بازنشانی شوند.

La -x مجموعه های گزینه (+x پاک می کند) ویژگی صادرات یک نام مستعار، یا اگر نامی وجود ندارد
داده شده، نام مستعار را با ویژگی صادرات فهرست می کند (صادرات نام مستعار ندارد
اثر)

bg [کار ...]
کار(های) متوقف شده مشخص شده را در پس زمینه از سر بگیرید. اگر شغلی مشخص نشده باشد، %+
مفروض است. دیدن کار کنترل زیر برای اطلاعات بیشتر

اتصال [-l]
اتصالات فعلی ذکر شده است. اگر -l پرچم داده شده است، اتصال در عوض لیستی از
نام توابعی که ممکن است کلیدها به آنها متصل شوند. دیدن Emacs ویرایش حالت برای اطلاعات بیشتر
اطلاعات.

اتصال [-m] رشته=[جایگزین] ...
اتصال رشته=[ویرایش-فرمان] ...
دستور ویرایش مشخص شده به دستور داده شده محدود می شود رشته، که باید شامل الف باشد
کاراکتر کنترل به صورت اختیاری با یکی از دو کاراکتر پیشوند و
به صورت اختیاری توسط یک کاراکتر tilde جایگزین می شود. ورودی آینده از رشته شود
دستور ویرایش که فوراً فراخوانی شود. اگر -m پرچم داده شده است، مشخص شده است
ورودی رشته پس از آن بلافاصله با داده شده جایگزین می شود جایگزین رشته
که ممکن است حاوی دستورات ویرایش باشد اما ماکروهای دیگر نباشد. اگر پسوند tilde است
داده می شود، یک تایلد پس از یک یا دو مقدمه و کاراکتر کنترل نادیده گرفته می شود،
هر شخصیت دنباله دار دیگری پس از آن پردازش می شود.

کاراکترهای کنترلی ممکن است با استفاده از نماد Caret نوشته شوند، یعنی ^X نشان دهنده Ctrl-X است.
توجه داشته باشید که اگرچه تنها دو کاراکتر پیشوند (معمولا ESC و ^X) پشتیبانی می شوند،
برخی از دنباله های چند شخصیتی را می توان پشتیبانی کرد.

پیوندهای پیش‌فرض زیر نحوه کلیدهای جهت‌نما، خانه، پایان و کلید حذف را نشان می‌دهند
در ترمینال صفحه نمایش BSD wsvt25، xterm-xfree86 یا GNU محدود شده است (البته برخی
سکانس های فرار به این خوبی کار نمی کنند):

bind '^X'=پیشوند-2
پیوند '^[['=پیشوند-2
bind '^XA'=up-history
bind '^XB'=down-history
bind '^XC'=forward-char
bind '^XD'=backward-char
bind '^X1~'=شروع خط
bind '^X7~'=شروع خط
bind '^XH'=آغاز خط
bind '^X4~'=پایان خط
bind '^X8~'=پایان خط
bind '^XF'=انتهای خط
bind '^X3~'=delete-char-forward

شکستن [سطح]
خروج از سطحدرونی ترین برای, را انتخاب کنید, تا، یا در حین حلقه سطح پیش فرض 1 است.

خانه [--] فرمان [ارگ ...]
دستور داخلی را اجرا کنید فرمان.

گربه [-u] [پرونده ...]
فایل ها را به ترتیب به ترتیب خط فرمان بخوانید و آنها را در خروجی استاندارد بنویسید.
اگر یک پرونده یک خط تیره ('-') یا وجود ندارد، از ورودی استاندارد خوانده می شود. برای مستقیم
تماس های داخلی، POSIX -u گزینه به عنوان بدون عملیات پشتیبانی می شود. برای تماس از پوسته، اگر
هر گزینه ای داده می شود، خارجی گربه(1) ابزار بر داخلی ترجیح داده می شود.

cd [-L] [دیر]
cd -P [-e] [دیر]
چدیر [-eLP] [دیر]
دایرکتوری کاری را روی دیر. اگر پارامتر CDPATH تنظیم شده باشد، آن را لیست می کند
مسیر جستجو برای دایرکتوری حاوی دیر. مسیر NULL به معنای جریان است
فهرست راهنما. اگر دیر در هر جزء از مسیر جستجوی CDPATH غیر از
مسیر NULL، نام دایرکتوری کاری جدید در خروجی استاندارد نوشته می شود.
If دیر از دست رفته است، دایرکتوری خانه HOME استفاده می شود. اگر دیر "-" قبلی است
دایرکتوری کاری استفاده می شود (به پارامتر OLDPWD مراجعه کنید).

اگر -L از گزینه (مسیر منطقی) استفاده می شود یا اگر از فیزیکی گزینه تنظیم نشده است (به
تنظیم دستور زیر)، ارجاع به «..» در دیر نسبت به مسیری هستند که برای رسیدن به آن استفاده می شود
دایرکتوری اگر -P از گزینه (مسیر فیزیکی) استفاده می شود یا اگر از فیزیکی گزینه است
مجموعه، '..' نسبت به درخت فهرست فایل سیستم است. PWD و OLDPWD
پارامترها برای منعکس کردن دایرکتوری کاری فعلی و قدیمی به روز می شوند،
به ترتیب. اگر -e گزینه برای پیمایش سیستم فایل فیزیکی و PWD تنظیم شده است
تنظیم نشد، کد خروج 1 است. بزرگتر از 1 در صورت بروز خطا، 0
در غیر این صورت.

cd [-eLP] قدیمی جدید
چدیر [-eLP] قدیمی جدید
رشته جدید جایگزین می شود قدیمی در دایرکتوری فعلی و پوسته
تلاش می کند به دایرکتوری جدید تغییر کند.

فرمان [-pVv] CMD [ارگ ...]
اگر نه -v نه -V گزینه داده شده است، CMD دقیقاً طوری اجرا می شود که انگار فرمان بود
مشخص نشده است، با دو استثنا: اول، CMD نمی تواند یک تابع پوسته باشد. و
ثانیا، دستورات داخلی خاص خاص خود را از دست می دهند (یعنی تغییر مسیر و
خطاهای ابزار باعث خروج پوسته نمی شوند و تخصیص دستورات اینطور نیست
دائمی).

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

اگر -v گزینه داده شده است، به جای اجرا CMD، اطلاعات در مورد آنچه خواهد بود
اجرا شده داده می شود (و همین کار برای ارگ ...). برای توابع، توابع و
کلمات کلیدی، نام آنها به سادگی چاپ می شود. برای نام های مستعار، دستوری که آنها را تعریف می کند است
چاپ شده؛ برای ابزارهای کمکی که با جستجوی پارامتر PATH، مسیر کامل از
دستور چاپ شده است اگر هیچ دستوری یافت نشد (یعنی جستجوی مسیر با شکست مواجه شد)، هیچ چیز وجود ندارد
چاپ شده و فرمان با وضعیت غیر صفر خارج می شود. در -V گزینه مانند است -v
گزینه، با این تفاوت که پرمخاطب تر است.

ادامه دادن [سطح]
می پرد به ابتدای سطحدرونی ترین برای, را انتخاب کنید, تا، یا در حین حلقه
سطح پیش فرض 1 است.

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

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

گزینه ها برای سازگاری با اسکریپت های پوسته BSD ارائه شده است. در -n انتخاب
خط جدید آخر را سرکوب می کند، -e تفسیر بک اسلش را فعال می‌کند (از آنجایی که بدون عملیات است
این به طور معمول انجام می شود)، و -E تفسیر بک اسلش را سرکوب می کند.

اگر پوزيكس or sh گزینه تنظیم شده است یا این یک تماس مستقیم داخلی است، فقط اولین
آرگومان به عنوان یک گزینه در نظر گرفته می شود و تنها در صورتی که دقیقاً "-n". اسلش
تفسیر غیرفعال است

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

exec [-a argv0] [-c] [فرمان [ارگ ...]]
دستور بدون انشعاب اجرا می شود و جایگزین فرآیند پوسته می شود. این هست
در حال حاضر مطلق، یعنی exec هرگز باز نمی گردد، حتی اگر فرمان یافت نشد. در
-a گزینه اجازه تنظیم یک مقدار argv[0] متفاوت را می دهد و -c محیط را پاک می کند
قبل از اجرای فرآیند فرزند، به جز متغیر _ و تخصیص مستقیم.

اگر هیچ فرمانی به جز تغییر مسیر I/O داده نشود، تغییر مسیر I/O دائمی است
و پوسته تعویض نمی شود. هر توصیفگر فایل بزرگتر از 2 که باز شود
or دوتایی(2)'d در این روش برای سایر دستورات اجرا شده در دسترس قرار نمی گیرند (به عنوان مثال
دستوراتی که در پوسته تعبیه نشده اند). توجه داشته باشید که پوسته Bourne متفاوت است
اینجا؛ این توصیفگرهای فایل را بر روی آن ارسال می کند.

خروج [وضعیت]
پوسته با وضعیت خروج مشخص شده خارج می شود. اگر وضعیت مشخص نشده است، خروجی
وضعیت مقدار فعلی است $? پارامتر.

صادرات [-p] [پارامتر[=ارزش]]
ویژگی صادرات پارامترهای نامگذاری شده را تنظیم می کند. پارامترهای صادر شده به داخل منتقل می شوند
محیط برای دستورات اجرا شده اگر مقادیر مشخص شده باشد، پارامترهای نامگذاری شده
نیز اختصاص داده شده اند.

اگر هیچ پارامتری مشخص نشده باشد، تمام پارامترهای دارای مجموعه ویژگی صادرات هستند
چاپ شده یک در هر خط. یا نام آنها، یا اگر "-" بدون حرف گزینه باشد
مشخص شده، جفت نام=مقدار، یا با -p, صادرات دستورات مناسب برای ورود مجدد

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

fc [-e سردبیر | -l [-n]] [-r] [اول [آخر]]
اول و آخر دستورات را از تاریخ انتخاب کنید دستورات را می توان بر اساس تاریخ انتخاب کرد
عدد (اعداد منفی از خط فعلی، جدیدترین، به عقب می روند) یا a
رشته ای که آخرین دستور را مشخص می کند که با آن رشته شروع می شود. در -l انتخاب
دستور را در خروجی استاندارد فهرست می کند و -n اعداد فرمان پیش فرض را مهار می کند.
La -r گزینه ترتیب لیست را معکوس می کند. بدون -l، دستورات انتخاب شده هستند
ویرایش شده توسط ویرایشگر مشخص شده با -e گزینه، یا اگر خیر -e مشخص شده است،
ویرایشگر مشخص شده توسط پارامتر FCEDIT (اگر این پارامتر تنظیم نشده باشد، /bin/ed is
استفاده می شود)، و سپس توسط پوسته اجرا می شود.

fc -e - | -s [-g] [قدیمی=جدید] [پیشوند]
پس از اجرا، دستور انتخاب شده (دستور قبلی به صورت پیش فرض) را دوباره اجرا کنید
جایگزینی اختیاری قدیمی با جدید. اگر -g مشخص شده است، تمام رخدادهای
قدیمی جایگزین می شوند با جدید. معنای -e - و -s یکسان است: دوباره اجرا کنید
دستور انتخاب شده بدون فراخوانی ویرایشگر این دستور معمولاً با استفاده از
از پیش تعریف شده: نام مستعار r='fc -e -'

fg [کار ...]
کار(های) مشخص شده را در پیش زمینه از سر بگیرید. اگر شغلی مشخص نشده باشد، %+ is
فرض. دیدن کار کنترل زیر برای اطلاعات بیشتر

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

هر زمان گرفتن فراخوانی می شود، گزینه بعدی را در پارامتر پوسته قرار می دهد نام
و ایندکس آرگومان که باید با فراخوانی بعدی پردازش شود گرفتن در
پارامتر پوسته OPTIND. اگر گزینه با "+" معرفی شده بود، گزینه قرار می گیرد
in نام با یک "+" پیشوند است. وقتی گزینه ای به آرگومان نیاز دارد، گرفتن مکان
آن را در پارامتر پوسته OPTARG.

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

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

تجزیه گزینه را می توان با تنظیم OPTIND روی 1 بازنشانی کرد (این کار به طور خودکار انجام می شود
هر زمان که پوسته یا رویه پوسته فراخوانی شود).

هشدار: تغییر مقدار پارامتر پوسته OPTIND به مقداری غیر از 1 یا
تجزیه مجموعه‌های مختلف آرگومان‌ها بدون تنظیم مجدد OPTIND، ممکن است منجر به موارد غیرمنتظره شود
نتایج.

جهانی ...
دیدن نوع.

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

شغل ها [-lnp] [کار ...]
نمایش اطلاعات در مورد شغل(های) مشخص شده؛ اگر هیچ شغلی مشخص نشده باشد، همه مشاغل
نمایش داده می شوند. در -n گزینه باعث می شود اطلاعات فقط برای کارهایی نمایش داده شود که
از آخرین اعلان تغییر حالت داده اند. اگر -l گزینه استفاده می شود،
شناسه فرآیند هر فرآیند در یک کار نیز فهرست شده است. در -p گزینه فقط باعث می شود
گروه فرآیند هر کاری که باید چاپ شود. دیدن کار کنترل در زیر برای فرمت کار
و کار نمایش داده شده

کشتن [-s علامت | -امضا | -علامت] { کار | pid | pgrp } ...
سیگنال مشخص شده را به مشاغل، شناسه‌های پردازش یا گروه‌های پردازش مشخص شده ارسال کنید. اگر
هیچ سیگنالی مشخص نشده است، سیگنال TERM ارسال می شود. اگر کار مشخص شده باشد، سیگنال
به گروه فرآیند کار ارسال می شود. دیدن کار کنترل در زیر برای فرمت کار.

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

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

اجازه دهید] نام مستعار استفاده شده داخلی برای اجازه.

mknod [-m حالت] نام b|c عمده خردسال
mknod [-m حالت] نام p
یک فایل مخصوص دستگاه ایجاد کنید. نوع فایل ممکن است باشد b (دستگاه نوع بلوک)، c
(دستگاه نوع کاراکتر)، یا p (به نام لوله، FIFO). فایل ایجاد شده ممکن است اصلاح شود
با توجه به آن حالت (از طریق -m گزینه)، عمده (شماره دستگاه اصلی)، و خردسال
(شماره دستگاه جزئی). این به طور معمول بخشی از با تشکر; با این حال، توزیع کنندگان ممکن است
این را به عنوان یک هک سرعت اضافه کرده اند.

چاپ [-nprsu[n] | -R []] [استدلال ...]
چاپ آرگومان های خود را روی خروجی استاندارد چاپ می کند که با فاصله از هم جدا شده و خاتمه می یابد
با خط جدید در -n گزینه خط جدید را سرکوب می کند. به طور پیش فرض، C خاصی فرار می کند
ترجمه می شوند. از جمله موارد ذکر شده در بک گراند توسعه بالا، و همچنین
به عنوان '\c'، که معادل استفاده از -n گزینه. گسترش بک اسلش ممکن است باشد
مهار شده با -r گزینه. -s گزینه به جای چاپ در فایل تاریخچه چاپ می شود
خروجی استاندارد؛ را -u گزینه در توصیفگر فایل چاپ می شود n (n پیش فرض 1 اگر
حذف شده)؛ و -p گزینه در فرآیند مشترک چاپ می شود (نگاه کنید به فرآیندهای مشترک در بالا).

La -R گزینه برای تقلید، تا حدی، BSD استفاده می شود از دست(1) دستوری که انجام می دهد
توالی '\' را پردازش نکنید مگر اینکه -e گزینه داده شده است. همانطور که در بالا، -n انتخاب
خط جدید انتهایی را سرکوب می کند.

printf قالب [استدلال ...]
خروجی فرمت شده تقریباً شبیه به printf(1)، ابزار، به جز آن استفاده می کند
همان بک گراند توسعه و کد ورودی/خروجی است و ممیز شناور را به عنوان کد کنترل نمی کند
بقیه ی با تشکر. یک ابزار خارجی بر داخلی ترجیح داده می شود. این نیست
به طور معمول بخشی از با تشکر; با این حال، توزیع کنندگان ممکن است این را به عنوان داخلی اضافه کرده باشند
هک سرعت در کد جدید استفاده نکنید

pwd [-LP]
فهرست کاری فعلی را چاپ کنید. اگر -L گزینه استفاده می شود یا اگر فیزیکی
گزینه تنظیم نشده است (به تنظیم دستور زیر)، مسیر منطقی چاپ می شود (یعنی
مسیر استفاده می شود cd به فهرست فعلی). اگر -P گزینه (مسیر فیزیکی) استفاده می شود
یا اگر فیزیکی گزینه تنظیم شده است، مسیر تعیین شده از سیستم فایل (با
زیر دایرکتوری های '..' به دایرکتوری ریشه) چاپ می شود.

خواندن [-A | -a] [-d x] [-N z | -n z] [-p | -u[n]] [-t n] [-rs] [p ...]
یک خط ورودی را می خواند، ورودی را با استفاده از پارامتر IFS به فیلدها جدا می کند (نگاه کنید به
جایگزینی بالا)، و هر فیلد را به پارامترهای مشخص شده اختصاص می دهد p. اگر نه
پارامترها مشخص شده است، پارامتر REPLY برای ذخیره نتیجه استفاده می شود. با
-A و -a گزینه ها، فقط هیچ یا یک پارامتر پذیرفته نمی شود. اگر بیشتر باشد
پارامترها نسبت به فیلدها، پارامترهای اضافی روی رشته خالی یا 0 تنظیم می شوند. اگر
فیلدهای بیشتری نسبت به پارامترها وجود دارد، آخرین پارامتر به باقی مانده اختصاص داده می شود
فیلدها (از جمله واژه جداکننده).

گزینه ها به شرح زیر است:

-A نتیجه را در پارامتر ذخیره کنید p (یا REPLY) به عنوان آرایه ای از کلمات.

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

-d x از اولین بایت استفاده کنید xبه جای کاراکتر خط جدید ASCII، اگر خالی باشد، NUL
به عنوان جداکننده خط ورودی

-N z به جای خواندن تا آخر خط، دقیقا بخوانید z بایت ها اگر EOF یا a
مهلت زمانی رخ می دهد، یک خواندن جزئی با وضعیت خروج 1 برگردانده می شود.

-n z به جای خواندن تا آخر خط، تا آخر بخوانید z بایت اما به محض بازگشت
هر بایتی خوانده می شود، به عنوان مثال از یک دستگاه ترمینال کند، یا اگر EOF یا مهلت زمانی باشد
رخ می دهد.

-p از فرآیند مشارکت فعال فعلی بخوانید، ببینید فرآیندهای مشترک در بالا برای جزئیات
روی این.

-u[n] از توصیفگر فایل بخوانید n (به طور پیش فرض 0، یعنی ورودی استاندارد). در
آرگومان باید بلافاصله از کاراکتر گزینه پیروی کند.

-t n بعد از خواندن قطع کنید n ثانیه (مشخص شده به عنوان مقدار اعشاری مثبت با یک
قسمت کسری اختیاری). وضعیت خروج از خواندن در صورت تایم اوت 1 است
رخ داده است، اما بازخوانی های جزئی ممکن است بازگردانده شوند.

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

-s خط ورودی در تاریخچه ذخیره می شود.

اگر ورودی ترمینال باشد، هر دو -N و -n گزینه ها آن را به حالت خام تنظیم می کنند. آنها
اگر -1 به عنوان ارسال شود، یک فایل کامل را بخوانید z بحث و جدل.

پارامتر اول ممکن است یک علامت سوال و یک رشته به آن اضافه شده باشد که در آن
در حالتی که رشته به عنوان یک اعلان استفاده می شود (قبل از هر ورودی به خطای استاندارد چاپ می شود
خواندن) اگر ورودی a باشد تله تایپ(4) (مثلا خواندن nfoo؟'شماره of Foos: ').

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

یکی دیگر از مجموعه ترفندهای مفید: اگر خواندن در یک حلقه اجرا می شود مانند در حین خواندن فوو do ...
انجام شده سپس فضای سفید اصلی حذف خواهد شد (IFS) و اسلش های برگشتی پردازش می شوند. شما
ممکن است بخواهد استفاده کند در حین IFS= خواندن -r فوو do ... انجام شده برای ورودی/خروجی بکر. به همین ترتیب،
هنگام استفاده از -a گزینه، استفاده از -r گزینه ممکن است محتاطانه باشد. همین امر صدق می کند
برای:

پیدا کردن . -type f -print0 |& \
در حالی که IFS= read -d '' -pr نام فایل; انجام دادن
print -r -- "<${filename#./}> پیدا شد"
انجام شده

حلقه داخلی در یک پوسته فرعی اجرا می شود و تغییرات متغیر نمی توانند اجرا شوند
در صورت اجرا در خط لوله منتشر می شود:

نوار | باز | در حالی که خواندن foo; انجام دادن ...؛ انجام شده

به جای آن از فرآیندهای مشترک استفاده کنید:

نوار | باز |&
در حالی که خواندن -p foo; انجام دادن ...؛ انجام شده
exec 3>&p; exec 3>&-

فقط خواندنی [-p] [پارامتر [=ارزش] ...]
ویژگی فقط خواندنی پارامترهای نامگذاری شده را تنظیم می کند. اگر مقادیر داده شود،
قبل از تنظیم ویژگی، پارامترها روی آنها تنظیم می شوند. زمانی که یک پارامتر ساخته شد
فقط خواندنی است، نمی توان آن را تنظیم کرد و مقدار آن را نمی توان تغییر داد.

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

مسیر واقعی [--] نام
نام مسیر مطلق حل شده مربوط به را چاپ می کند نام. اگر نام با a به پایان می رسد
اسلش ('/')، وجود آن و اینکه آیا یک دایرکتوری است نیز بررسی می شود.
در غیر این صورت، مسیر واقعی اگر نام مسیر وجود داشته باشد یا بتوان آن را ایجاد کرد، 0 را برمی گرداند
بلافاصله، یعنی همه جز آخرین جزء وجود دارند و دایرکتوری هستند.

تغییر نام دهید [--] از جانب به
فایل را تغییر نام می دهد از جانب به به. هر دو باید نام مسیر کامل و روی یک دستگاه باشند.
این توکار برای مواقع اضطراری در نظر گرفته شده است که در آن /bin/mv غیر قابل استفاده می شود و
مستقیم تماس می گیرد تغییر نام دهید(2).

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

تنظیم [+-abCefhiklmnprsUuvXx] [+-o انتخاب] [+-A نام] [--] [ارگ ...]
La تنظیم می توان از دستور برای تنظیم (-) یا روشن (+) گزینه های پوسته، موقعیت را تنظیم کنید
پارامترها، یا تنظیم یک پارامتر آرایه. با استفاده از گزینه می توان گزینه ها را تغییر داد +-o انتخاب
نحو، که در آن انتخاب نام طولانی یک گزینه یا استفاده از آن است +-نامه نحو،
جایی که نامه نام تک حرفی گزینه است (همه گزینه ها یک حرف واحد ندارند
نام). جدول زیر هم حروف گزینه (در صورت وجود) و هم نام طولانی را فهرست می کند
به همراه توضیحی در مورد کاری که گزینه انجام می دهد:

-A نام
عناصر پارامتر آرایه را تنظیم می کند نام به ارگ ... If -A استفاده می شود ،
آرایه ابتدا بازنشانی می شود (یعنی خالی می شود). اگر +A استفاده می شود، اولین عنصر N تنظیم می شود
(که در آن N تعداد آرگومان ها است)؛ بقیه دست نخورده مانده اند

یک دستور جایگزین برای دستور تنظیم -A فو -- a b c که با آن سازگار است
گنو بر هم زدن و همچنین توسط AT&T UNIX پشتیبانی می شود ksh93 است: فو = (الف b ج)؛ foo+=(d e)

-a | -o الکسپورت
تمام پارامترهای جدید با ویژگی export ایجاد می شوند.

-b | -o مطلع ساختن
پیام‌های اعلان کار را به‌جای اینکه دقیقاً قبل از
سریع. فقط در صورتی استفاده می شود که کنترل شغل فعال باشد (-m).

-C | -o نوکلوببر
جلوگیری از > تغییر مسیر از رونویسی فایل های موجود. در عوض، >| باید استفاده شود
برای بازنویسی اجباری توجه داشته باشید که استفاده از این برای ایجاد امن نیست
فایل‌های موقت یا فایل‌های قفل شده به دلیل وجود TOCTOU در چکی که به فرد امکان تغییر مسیر را می‌دهد
خروجی به / dev / null یا فایل های دستگاه دیگر حتی در نوکلوببر حالت.

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

-f | -o نوگلوب
الگوهای نام فایل را گسترش ندهید.

-h | -o مسیر
ایجاد نام مستعار ردیابی شده برای همه دستورات اجرا شده (نگاه کنید به نام مستعار در بالا). فعال شد
به طور پیش فرض برای پوسته های غیر تعاملی.

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

-k | -o کلمه کلیدی
تخصیص پارامترها در هر نقطه از یک فرمان شناسایی می شوند.

-l | -o ورود
پوسته یک پوسته ورود است. این گزینه فقط زمانی قابل استفاده است که پوسته باشد
احضار شد. برای توضیح معنای این مطلب به بالا مراجعه کنید.

-m | -o مانیتور
کنترل کار را فعال کنید (پیش‌فرض برای پوسته‌های تعاملی).

-n | -o noexec
هیچ دستوری را اجرا نکنید. مفید برای بررسی نحو اسکریپت ها (نادیده گرفته شده است
اگر تعاملی باشد).

-p | -o ممتاز
پوسته یک پوسته ممتاز است. به طور خودکار تنظیم می شود اگر، زمانی که پوسته
شروع می شود، UID یا GID واقعی با UID موثر (EUID) یا GID مطابقت ندارد
(EGID) به ترتیب. برای توضیح معنای این مطلب به بالا مراجعه کنید.

-r | -o منحصر
پوسته یک پوسته محدود است. این گزینه فقط زمانی قابل استفاده است که پوسته باشد
احضار شد. برای توضیح معنای این مطلب به بالا مراجعه کنید.

-s | -o stdin
اگر هنگام فراخوانی پوسته استفاده شود، دستورات از ورودی استاندارد خوانده می شوند. تنظیم
اگر پوسته بدون آرگومان فراخوانی شود به طور خودکار.

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

-U | -o حالت utf8
فعال کردن پشتیبانی UTF-8 در Emacs ویرایش حالت و مدیریت رشته های داخلی
کارکرد. این پرچم به طور پیش فرض غیرفعال است، اما با تنظیم آن می توان آن را فعال کرد
در خط فرمان پوسته؛ اگر به طور خودکار برای پوسته های تعاملی فعال می شود
در زمان کامپایل درخواست شده، سیستم شما پشتیبانی می کند setlocale(LC_CTYPE, "") و
اختیاری nl_langinfo(CODESET)، یا محیط LC_ALL، LC_CTYPE یا LANG
متغیرها، و حداقل یکی از آنها چیزی را برمی گرداند که با "UTF-8" یا مطابقت دارد
"utf8" بدون حساسیت به حروف بزرگ. برای تماس های داخلی مستقیم بسته به
متغیرهای محیطی ذکر شده؛ یا برای stdin یا اسکریپت ها، اگر ورودی باشد
با علامت سفارش UTF-8 Byte شروع می شود.

در آینده نزدیک، ردیابی محلی اجرا خواهد شد، که به این معنی است تنظیم -+ U is
هر زمان که یکی از متغیرهای محیطی مربوط به محلی POSIX تغییر کند تغییر می کند.

-u | -o اسم مجموعه
ارجاع به یک پارامتر تنظیم نشده، به غیر از "$@" یا "$*" به عنوان یک تلقی می شود
خطا، مگر اینکه یکی از اصلاح کننده های '-'، '+' یا '=' استفاده شود.

-v | -o واژگان
هنگام خواندن، ورودی پوسته را روی خطای استاندارد بنویسید.

-X | -o markdirs
در طول تولید نام فایل، دایرکتوری ها را با یک "/" انتهایی علامت گذاری کنید.

-x | -o xtrace
درختان فرمان را هنگام اجرا چاپ کنید، قبل از آن مقدار PS4.

-o bgnice
کارهای پس زمینه با اولویت کمتر اجرا می شوند.

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

-o ایمکس
ویرایش خط فرمان مشابه BRL emacs را فعال کنید (فقط پوسته های تعاملی). دیدن Emacs
ویرایش حالت.

-o gmacs
ویرایش خط فرمان شبیه gmacs را فعال کنید (فقط پوسته های تعاملی). در حال حاضر
با ویرایش emacs یکسان است با این تفاوت که transpose-chars (^T) کمی عمل می کند
متفاوت

-o نادیده گرفتن
هنگامی که انتهای فایل خوانده می شود، پوسته (به راحتی) خارج نمی شود. خروج باید استفاده شود.
برای جلوگیری از حلقه های بی نهایت، اگر EOF 13 بار متوالی خوانده شود، پوسته خارج می شود.

-o ارث بری
ریست نکنید -o xtrace هنگام وارد کردن توابع این به طور پیش فرض فعال است.

-o نوهوپ
هنگام خروج از پوسته ورود، کارهای در حال اجرا را با سیگنال SIGHUP نکشید.
در حال حاضر به صورت پیش فرض تنظیم شده است، اما ممکن است در آینده برای سازگاری تغییر کند
با AT&T UNIX ksh، که این گزینه را ندارد، اما SIGHUP را ارسال می کند
سیگنال قرار دارند.

-o نولوگ
بدون تاثیر در پوسته اصلی Korn، این از تعاریف تابع جلوگیری می کند
در فایل تاریخچه ذخیره می شود.

-o فیزیکی
باعث می شود cd و pwd دستورات استفاده از "فیزیکی" (یعنی فایل سیستم) '..'
دایرکتوری ها به جای دایرکتوری های «منطقی» (یعنی پوسته «..» را کنترل می کند، که
به کاربر این امکان را می دهد که از پیوندهای نمادین به دایرکتوری ها غافل باشد). پاک کردن توسط
پیش فرض توجه داشته باشید که تنظیم این گزینه بر مقدار فعلی تاثیری ندارد
پارامتر PWD؛ فقط cd دستور PWD را تغییر می دهد. را ببینید cd و pwd دستورات
در بالا برای جزئیات بیشتر

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

-o پوزيكس
نزدیکتر به استانداردها رفتار کنید (نگاه کنید به POSIX حالت برای جزئیات). بطور خودکار
اگر نام پایه فراخوانی پوسته با "sh" و این شروع شود فعال می شود
ویژگی تشخیص خودکار در (نه در MirBSD) کامپایل شده است. به عنوان یک عارضه جانبی، تنظیم
این پرچم خاموش می شود braceexpand حالت، که می تواند به صورت دستی دوباره روشن شود، و
sh حالت (مگر اینکه هر دو به طور همزمان فعال باشند).

-o sh
فعال / بن / شل حالت (کلاج) (نگاه کنید به SH حالت). به طور خودکار فعال می شود اگر
نام پایه فراخوانی پوسته با "sh" و این ویژگی تشخیص خودکار شروع می شود
در (نه در MirBSD) کامپایل شده است. به عنوان یک عارضه جانبی، تنظیم این پرچم خاموش می شود
braceexpand حالت، که می تواند به صورت دستی دوباره روشن شود، و پوزيكس حالت (مگر اینکه
هر دو به طور همزمان فعال هستند).

-o vi
فعال vi(1) مانند ویرایش خط فرمان (فقط پوسته های تعاملی). دیدن Vi
ویرایش حالت برای اسناد و محدودیت ها

-o vi-esccomplete
در ویرایش خط فرمان vi، دستورات و نام فایل را هنگام فرار تکمیل کنید (^[)
در حالت فرمان وارد می شود.

-o vi-tabcomplete
در ویرایش خط فرمان vi، زمانی که تب (^I) است، دستور و نام فایل را تکمیل کنید
در حالت درج وارد شده است. این پیش فرض است.

-o viraw
بدون تاثیر در پوسته کورن اصلی، مگر اینکه viraw تنظیم شد، فرمان vi-
حالت خط به این اجازه می دهد تله تایپ(4) راننده کار را انجام می دهد تا زمانی که ESC (^[) وارد شود.
با تشکر همیشه در حالت viraw است.

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

آرگومان‌های باقی‌مانده، در صورت وجود، پارامترهای موقعیتی هستند و به ترتیب به آنها اختصاص داده می‌شوند
پارامترهای موقعیتی (یعنی $1، $2، و غیره). اگر گزینه ها با '--' ختم می شوند و آنجا
هیچ آرگومان دیگری وجود ندارد، تمام پارامترهای موقعیتی پاک می شوند. اگر گزینه ای وجود ندارد یا
آرگومان ها داده می شوند، مقادیر همه نام ها چاپ می شوند. برای تاریخی ناشناخته
به دلایل، یک گزینه "-" به طور خاص مورد بررسی قرار می گیرد - هر دو را پاک می کند -v و -x
گزینه.

تغییر [عدد]
پارامترهای موقعیت عدد+ 1، عدد+2 و غیره به «1»، «2» و غیره تغییر نام می‌دهند.
عدد پیش فرض 1 است.

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

منبع پرونده [ارگ ...]
پسندیدن . ("نقطه")، با این تفاوت که دایرکتوری کاری فعلی به جستجو اضافه شده است
مسیر (GNU بر هم زدن افزونه).

تعلیق
پوسته را طوری متوقف می کند که گویی کاراکتر suspend را از ترمینال دریافت کرده است. این است
تعلیق پوسته ورود ممکن نیست مگر اینکه فرآیند والد عضوی از آن باشد
همان جلسه ترمینال اما عضوی از یک گروه فرآیند متفاوت است. به عنوان یک ژنرال
قانون، اگر پوسته توسط پوسته دیگر یا از طریق راه اندازی شده باشد su(1)، می توان آن را به حالت تعلیق درآورد.

آزمون بیان
[ بیان ]
آزمون ارزیابی می کند بیان و وضعیت صفر را در صورت درست، 1 در صورت نادرست یا بیشتر را برمی گرداند
از 1 اگر خطایی وجود داشته باشد. معمولاً به عنوان دستور شرط استفاده می شود if و
در حین بیانیه. پیوندهای نمادین برای همه دنبال می شود پرونده عبارات به جز -h و
-L.

عبارات اساسی زیر موجود است:

-a پرونده پرونده وجود دارد

-b پرونده پرونده یک دستگاه مخصوص بلوک است.

-c پرونده پرونده یک وسیله خاص شخصیت است.

-d پرونده پرونده یک دایرکتوری است.

-e پرونده پرونده وجود دارد

-f پرونده پرونده یک فایل معمولی است.

-G پرونده پرونده's group شناسه گروه موثر پوسته است.

-g پرونده پروندهحالت 's دارای مجموعه بیت setgid است.

-H پرونده پرونده یک دایرکتوری وابسته به زمینه است (فقط در HP-UX مفید است).

-h پرونده پرونده یک پیوند نمادین است.

-k پرونده پروندهحالت دارای چسبنده(8) بیت مجموعه.

-L پرونده پرونده یک پیوند نمادین است.

-O پرونده پروندهمالک شناسه کاربری موثر پوسته است.

-o انتخاب صدف انتخاب تنظیم شده است (نگاه کنید به تنظیم دستور بالا برای لیستی از
گزینه ها). به عنوان یک پسوند غیر استاندارد، اگر گزینه با شروع شود
یک '!'، آزمون نفی می شود. آزمون همیشه شکست می خورد اگر انتخاب
وجود ندارد
اگر گزینه فو وجود دارد). همین امر را می توان با [-o ?foo] نیز به دست آورد.
مانند AT&T UNIX ksh93. انتخاب همچنین می تواند پرچم کوتاه رهبری شود
یا '-' یا '+' (بدون نفی منطقی)، برای مثال '-x' یا '+x'
به جای "xtrace".

-p پرونده پرونده یک لوله با نام (FIFO) است.

-r پرونده پرونده وجود دارد و قابل خواندن است.

-S پرونده پرونده هست یک یونیکس(4)-سوکت دامنه.

-s پرونده پرونده خالی نیست

-t fd توصیف کننده فایل fd هست یک تله تایپ(4) دستگاه.

-u پرونده پروندهحالت 's دارای مجموعه بیت setuid است.

-w پرونده پرونده وجود دارد و قابل نوشتن است.

-x پرونده پرونده وجود دارد و قابل اجرا است.

file1 -نه file2 file1 جدیدتر از file2 or file1 وجود دارد و file2 نمی کند

file1 -خیلی file2 file1 بزرگتر از file2 or file2 وجود دارد و file1 نمی کند

file1 -اگر file2 file1 همان فایل است file2.

رشته رشته طول غیر صفر دارد

-n رشته رشته خالی نیست

-z رشته رشته خالی است.

رشته = رشته رشته ها برابر هستند.

رشته == رشته رشته ها برابر هستند.

رشته > رشته عملوند رشته اول بزرگتر از عملوند رشته دوم است.

رشته < رشته عملوند رشته اول کمتر از عملوند رشته دوم است.

رشته != رشته رشته ها برابر نیستند.

عدد معادله عدد اعداد برابر هستند

عدد -نه عدد اعداد مقایسه نمی شوند.

عدد -GE عدد اعداد بزرگتر یا مساوی با هم مقایسه می شوند.

عدد -بله عدد اعداد بزرگتر از.

عدد عدد اعداد کمتر یا مساوی با هم مقایسه می شوند.

عدد -آن عدد اعداد کمتر از.

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

expr -o expr منطقی OR.
expr -a expr منطقی و.
! expr منطقی نیست.
( expr ) گروه بندی.

توجه داشته باشید که یک عدد در واقع ممکن است یک عبارت حسابی باشد، مانند یک عدد ریاضی
عبارت یا نام یک متغیر عدد صحیح:

x=1; [ "x" -eq 1 ] درست ارزیابی می کند

توجه داشته باشید که برخی از قوانین خاص اعمال می شود (با حسن نیت از POSIX) در صورت تعداد
استدلال به آزمون یا داخل براکت ها [ ... ] کمتر از پنج است: اگر پیشروی '!'
آرگومان ها را می توان به گونه ای حذف کرد که فقط یک تا سه آرگومان باقی بماند، سپس آرگومان
مقایسه کاهش یافته اجرا می شود. (با تشکر از XSI) پرانتز \( ... \) پایین چهار- و
اشکال سه استدلالی به اشکال دو و یک استدلالی؛ سه استدلالی
فرم ها در نهایت عملیات باینری را ترجیح می دهند و به دنبال آن نفی و پرانتز قرار می گیرند
پایین آوردن؛ اشکال دو و چهار استدلالی نفی را ترجیح می دهند و پرانتز را دنبال می کنند. را
فرم تک استدلالی همیشه دلالت دارد -n.

توجه داشته باشید: یک اشتباه رایج استفاده از "if [ $foo = bar ]" است که در صورت عدم موفقیت در پارامتر "foo"
NULL یا تنظیم نشده است، اگر دارای فضاهای جاسازی شده باشد (به عنوان مثال هشت IFS)، یا اگر یک واحد باشد
اپراتور مانند '!' یا '-n'. به جای آن از تست هایی مانند "if [ x"$foo" = x"bar" ]" یا the استفاده کنید
عملگر دو پرانتزی "if [[ $foo = bar ]]" یا برای جلوگیری از تطبیق الگو (نگاه کنید به [[
بالا): "اگر [[ $foo = "$bar" ]]"

La [[ ... ]] ساختار نه تنها برای استفاده ایمن تر است، بلکه اغلب سریعتر است.

زمان [-p] [خط لوله]
اگر یک خط لوله داده شده است، زمان های استفاده شده برای اجرای خط لوله گزارش شده است. اگر نه
خط لوله داده می شود، سپس کاربر و زمان استفاده از سیستم توسط خود پوسته، و همه
دستوراتی که از زمان شروع اجرا اجرا کرده است، گزارش می شود. زمان های گزارش شده است
زمان واقعی (زمان سپری شده از شروع تا پایان)، زمان CPU کاربر (زمان صرف شده
در حال اجرا در حالت کاربر)، و زمان CPU سیستم (زمان صرف شده در حال اجرا در حالت هسته).
زمان ها به خطای استاندارد گزارش می شوند. فرمت خروجی به صورت زیر است:

0m0.00s واقعی 0m0.00s کاربر 0m0.00s سیستم

اگر -p گزینه داده می شود که خروجی کمی طولانی تر است:

0.00 واقعی
کاربر 0.00
sys 0.00

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

تغییر مسیرهای ساده خطای استاندارد بر خروجی خطا تأثیر نمی گذارد زمان فرمان:

$ time sleep 1 2>file
$ { زمان خواب 1; } 2>file

زمان‌های فرمان اول به «file» نمی‌رود، اما زمان‌های فرمان دوم می‌روند.

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

0m0.00s 0m0.00s
0m0.00s 0m0.00s

دام n [سیگنال ...]
اگر اولین عملوند یک عدد صحیح اعشاری بدون علامت باشد، تمام سیگنال های مشخص شده را بازنشانی می کند
به عمل پیش فرض، یعنی همان فراخوانی است دام با علامت منفی ('-') به عنوان
دستیارو به دنبال آن استدلال ها (n [سیگنال ...])، که همه آنها به عنوان
سیگنال.

دام [دستیار سیگنال ...]
یک کنترل کننده تله را تنظیم می کند که در صورت هر یک از موارد مشخص شده اجرا شود سیگنالهستند
اخذ شده. دستیار یا یک رشته خالی است که نشان می دهد سیگنال ها باید باشند
نادیده گرفته شد، یک علامت منفی ('-')، که نشان می دهد که اقدام پیش فرض باید برای آن انجام شود
سیگنال ها (نگاه کنید به سیگنال(3))، یا رشته ای حاوی دستورات پوسته که باید در آن اجرا شوند
اولین فرصت (یعنی زمانی که دستور فعلی کامل می شود، یا قبل از چاپ
اعلان بعدی PS1) پس از دریافت یکی از سیگنال ها. سیگنال نام یک است
سیگنال (به عنوان مثال PIPE یا ALRM) یا شماره سیگنال (به کشتن -l فرمان
در بالا).

دو سیگنال ویژه وجود دارد: EXIT (همچنین به عنوان 0 شناخته می شود)، که زمانی که اجرا می شود
پوسته در شرف خروج است و ERR که پس از بروز خطا اجرا می شود. یک خطا است
چیزی که باعث می شود پوسته خارج شود اگر تنظیم -e or تنظیم -o errexit انتخاب
تنظیم شدند. کنترل کننده های EXIT در محیط آخرین اجرا شده اجرا می شوند
فرمان

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

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

تله DEBUG پوسته Korn اصلی و مدیریت تله های ERR و EXIT در
توابع هنوز پیاده سازی نشده اند.

درست دستوری که با مقدار صفر خارج می شود.

جهانی [[+-alpnrtUux] [-L[n]] [-R[n]] [-Z[n]] [-i[n]] | -f [-تاکس]] [نام [=ارزش] ...]
نوع [[+-alpnrtUux] [-LRZ[n]] [-i[n]] | -f [-تاکس]] [نام [=ارزش] ...]
نمایش یا تنظیم ویژگی های پارامتر. با هیچ نام آرگومان ها، ویژگی های پارامتر
نمایش داده می شوند؛ اگر هیچ گزینه ای استفاده نشود، ویژگی های فعلی همه پارامترها هستند
چاپ شده به عنوان نوع دستورات؛ اگر گزینه ای داده شود (یا '-' بدون حرف گزینه)،
تمام پارامترها و مقادیر آنها با ویژگی های مشخص شده چاپ می شوند. اگر گزینه ها
با '+' معرفی می شوند، مقادیر پارامتر چاپ نمی شوند.

If نام آرگومان ها داده می شوند، ویژگی های پارامترهای نامگذاری شده تنظیم می شوند (-) و یا
پاک شده (+). مقادیر برای پارامترها ممکن است به صورت اختیاری مشخص شود. برای نام[*]،
تغییر کل آرایه را تحت تأثیر قرار می دهد و ممکن است هیچ مقداری مشخص نشود.

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

چه زمانی -f استفاده می شود، نوع بر روی ویژگی های توابع عمل می کند. همانطور که با
پارامترها، اگر نه نام آرگومان ها داده می شوند، توابع با مقادیرشان فهرست می شوند
(یعنی تعاریف) مگر اینکه گزینه ها با '+' معرفی شوند، در این صورت فقط گزینه
نام توابع گزارش شده است.

-a ویژگی آرایه نمایه شده

-f حالت عملکرد. نمایش یا تنظیم توابع و ویژگی های آنها، به جای
پارامترها.

-i[n] صفت عدد صحیح. n پایه مورد استفاده در هنگام نمایش عدد صحیح را مشخص می کند
(اگر مشخص نشده باشد، از پایه داده شده در اولین تکلیف استفاده می شود).
به پارامترهای دارای این ویژگی ممکن است مقادیری حاوی محاسبات اختصاص داده شود
اصطلاحات.

-L[n] صفت justify سمت چپ. n عرض میدان را مشخص می کند. اگر n مشخص نشده است،
عرض فعلی یک پارامتر (یا عرض اولین مقدار اختصاص داده شده آن)
استفاده می شود. فضای سفید پیشرو (و صفرها، در صورت استفاده با -Z گزینه) است
برهنه شده در صورت لزوم، مقادیر یا کوتاه می شوند یا برای جا دادن به فضا اضافه می شوند
عرض میدان

-l ویژگی حروف کوچک. همه حروف بزرگ در مقادیر به تبدیل می شوند
حروف کوچک (در پوسته اصلی Korn، این پارامتر به معنای "عدد صحیح طولانی" بود.
هنگام استفاده با -i گزینه.)

-n ایجاد یک متغیر محدود (مرجع نام): هرگونه دسترسی به متغیر نام
به متغیر دسترسی خواهد داشت ارزش در محدوده فعلی (این با
یونیکس AT&T ksh93!) بجای. همچنین متفاوت از AT&T UNIX ksh93 است که
ارزش در آن زمان با تنبلی ارزیابی می شود نام قابل دسترسی است. این می تواند مورد استفاده قرار گیرد
توابع برای دسترسی به متغیرهایی که نام آنها به عنوان پارامتر ارسال می شود
استفاده از ارزیابی.

-p چاپ کامل شد نوع دستوراتی که می توان از آنها برای ایجاد مجدد ویژگی ها استفاده کرد
و مقادیر پارامترها

-R[n] سمت راست ویژگی justify. n عرض میدان را مشخص می کند. اگر n نیست
مشخص شده، عرض فعلی یک پارامتر (یا عرض اولین آن
مقدار اختصاص داده شده) استفاده می شود. فضای خالی انتهایی حذف شده است. در صورت لزوم،
مقادیر یا از کاراکترهای اصلی حذف می شوند یا برای ایجاد آنها فضای خالی ایجاد می شود
متناسب با عرض میدان

-r ویژگی فقط خواندنی پارامترهای دارای این ویژگی ممکن است به آنها اختصاص داده نشوند
یا تنظیم نشده وقتی این ویژگی تنظیم شد، نمی توان آن را خاموش کرد.

-t ویژگی برچسب. هیچ معنایی برای پوسته ندارد. برای استفاده از برنامه ارائه شده است.

برای توابع، -t صفت ردیابی است. وقتی با ردیابی کار می کند
ویژگی اجرا می شوند، xtrace (-x) گزینه shell به طور موقت تبدیل شده است
بر.

-U ویژگی عدد صحیح بدون علامت. اعداد صحیح به صورت مقادیر بدون علامت چاپ می شوند (ترکیب
با -i گزینه). این گزینه در پوسته اصلی Korn نیست.

-u ویژگی حروف بزرگ. همه حروف کوچک در مقادیر به تبدیل می شوند
حروف بزرگ (در پوسته اصلی Korn، این پارامتر به معنای "بدون علامت است
عدد صحیح” زمانی که با -i گزینه ای که به معنای حروف بزرگ خواهد بود
هرگز برای پایه های بزرگتر از 10 استفاده نشود -U گزینه.)

برای توابع، -u ویژگی تعریف نشده است. دیدن توابع بالا برای
پیامدهای این

-x ویژگی صادرات. پارامترها (یا توابع) در محیط قرار می گیرند
هر دستور اجرا شده توابع صادر شده هنوز اجرا نشده اند.

-Z[n] صفت پر کردن صفر. اگر با -L، این همان است -R، بجز
به جای فضای خالی از لایه صفر استفاده می شود. برای اعداد صحیح، عدد
به جای پایه بالشتک شده است.

اگر هر یک از -i, -L, -l, -R, -U, -u، یا -Z گزینه ها تغییر می کنند، بقیه از این
مجموعه ها پاک می شوند، مگر اینکه آنها نیز در همان خط فرمان داده شوند.

اولیمیت [-aBCcdefHilMmnOPpqrSsTtVvw] [ارزش]
نمایش یا تنظیم محدودیت های فرآیند. اگر هیچ گزینه ای استفاده نمی شود، محدودیت اندازه فایل (-f) است
فرض. ارزش، اگر مشخص شود، ممکن است یک عبارت حسابی یا کلمه باشد
"نامحدود". محدودیت ها روی پوسته و هر فرآیند ایجاد شده توسط پوسته تأثیر می گذارد
پس از اعمال محدودیت توجه داشته باشید که برخی از سیستم ها ممکن است اجازه ندهند که محدودیت وجود داشته باشد
پس از تنظیم افزایش یافته است. همچنین توجه داشته باشید که انواع محدودیت های موجود سیستمی هستند
وابسته - برخی از سیستم ها فقط دارای -f حد.

-a نمایش تمام محدودیت ها؛ مگر اینکه -H استفاده می شود، محدودیت های نرم نمایش داده می شود.

-B n اندازه بافر سوکت را روی آن تنظیم کنید n کیبی بایت

-C n تعداد رشته های کش شده را روی آن تنظیم کنید n.

-c n محدودیت اندازه اعمال کنید n بلوک هایی به اندازه زباله های هسته.

-d n محدودیت اندازه اعمال کنید n کیلو بایت در اندازه ناحیه داده.

-e n حداکثر زیبایی را روی n.

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

-H فقط حد سخت را تنظیم کنید (پیش‌فرض این است که هم حد سخت و هم حد نرم را تنظیم کنید).

-i n تعداد سیگنال های معلق را روی آن تنظیم کنید n.

-l n اعمال محدودیت از n کیلو بایت بر روی مقدار حافظه فیزیکی قفل شده (سیمی).

-M n حافظه قفل شده AIO را روی آن تنظیم کنید n کیبی بایت

-m n اعمال محدودیت از n کیلو بایت بر میزان حافظه فیزیکی استفاده شده

-n n اعمال محدودیت از n توصیف کننده های فایل که می توانند به یکباره باز شوند.

-O n تعداد عملیات AIO را بر روی تنظیم کنید n.

-P n محدود کردن تعداد رشته ها در هر فرآیند به n.

-p n اعمال محدودیت از n فرآیندهایی که می توانند توسط کاربر در هر زمان اجرا شوند.

-q n اندازه صف های پیام POSIX را به محدود کنید n بایت

-r n حداکثر اولویت بلادرنگ را روی n.

-S فقط حد نرم را تنظیم کنید (پیش‌فرض این است که محدودیت‌های سخت و نرم را تعیین کنید).

-s n محدودیت اندازه اعمال کنید n کیلو بایت به اندازه ناحیه پشته.

-T n اعمال محدودیت زمانی از n ثانیه های واقعی برای استفاده در هر فرآیند.

-t n اعمال محدودیت زمانی از n ثانیه های CPU صرف شده در حالت کاربر برای استفاده توسط هر یک
روند.

-V n تعداد مانیتورهای vnode در هایکو را روی آن تنظیم کنید n.

-v n اعمال محدودیت از n کیلو بایت بر میزان حافظه مجازی (فضای آدرس)
استفاده شده.

-w n اعمال محدودیت از n کیلو بایت در میزان فضای مبادله استفاده شده.

تا آنجایی که اولیمیت یک بلوک 512 بایت است.

umask [-S] [ماسک]
ماسک ایجاد مجوز فایل یا umask را نمایش یا تنظیم کنید (نگاه کنید به umask(2)). اگر -S
گزینه استفاده می شود، ماسک نمایش داده شده یا مجموعه نمادین است. در غیر این صورت، یک هشتی است
عدد.

ماسک های نمادین مانند ماسک هایی هستند که مورد استفاده قرار می گیرند chmod(1). هنگام استفاده، آنها را توصیف می کنند
مجوزها ممکن است در دسترس باشند (برخلاف ماسک‌های اکتال که در آنها یک بیت به معنی است
بیت مربوطه باید پاک شود). به عنوان مثال، "ug=rwx,o=" ماسک را به این صورت تنظیم می کند
فایل‌ها توسط «دیگران» قابل خواندن، نوشتن یا اجرا نخواهند بود و معادل هستند
(در اکثر سیستم ها) به ماسک اکتال "007".

آنالیز [-adt] [نام ...]
نام مستعار برای نام های داده شده حذف می شود. اگر -a گزینه استفاده می شود، همه نام های مستعار
حذف می شوند. اگر -t or -d از گزینه ها استفاده می شود، عملیات مشخص شده انجام می شود
به ترتیب بر روی نام مستعار ردیابی شده یا دایرکتوری.

تنظیم نشده [-fv] پارامتر ...
پارامترهای نامگذاری شده را تنظیم نکنید (-v، پیش فرض) یا توابع (-f) با پارامتر[*]،
ویژگی ها حفظ می شوند، فقط مقادیر تنظیم نشده اند.

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

صبر کنيد [کار ...]
منتظر بمانید تا کار(های) مشخص شده تمام شود. وضعیت خروج از صبر کنيد از آخرین است
شغل مشخص شده؛ اگر آخرین کار توسط یک سیگنال کشته شود، وضعیت خروج 128 + the است
شماره سیگنال (نگاه کنید به کشتن -l وضعیت خروج در بالا)؛ اگر آخرین کار مشخص شده نمی تواند
وضعیت خروج یافت شود (زیرا هرگز وجود نداشته یا قبلاً تمام شده بود) صبر کنيد
127 است. ببینید کار کنترل در زیر برای فرمت کار. صبر کنيد در صورت وجود سیگنال برمی گردد
که برای آن یک تله تنظیم شده است، یا اگر سیگنال SIGHUP، SIGINT یا SIGQUIT
دریافت شد.

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

از کجا [-pv] [نام ...]
بدون -v گزینه، همان است فرمان -v، به جز نام مستعار چاپ نمی شود
به عنوان دستور مستعار با -v گزینه، دقیقاً همان است فرمان -V. به
در هر صورت، -p گزینه متفاوت است: مسیر جستجو تحت تأثیر قرار نمی گیرد از کجا، اما
جستجو به مسیر محدود می شود.

کار کنترل
کنترل شغلی به توانایی پوسته برای نظارت و کنترل کارهایی که فرآیندها هستند اشاره دارد
گروه هایی از فرآیندهای ایجاد شده برای دستورات یا خطوط لوله. حداقل، پوسته ردیابی می کند
از وضعیت کارهای پس زمینه (یعنی ناهمزمان) که در حال حاضر وجود دارد. این
اطلاعات را می توان با استفاده از شغل ها دستورات اگر کنترل شغل به طور کامل فعال باشد
(استفاده كردن تنظیم -m or تنظیم -o مانیتور، همانطور که برای پوسته های تعاملی، فرآیندهای یک کار است
در گروه فرآیند خود قرار می گیرند. کارهای پیش زمینه را می توان با تایپ کردن suspend متوقف کرد
کاراکتر از ترمینال (به طور معمول ^Z)، کارها را می توان در پیش زمینه یا در پیش زمینه مجدداً راه اندازی کرد
پس زمینه با استفاده از fg و bg دستور می دهد و وضعیت ترمینال ذخیره یا بازیابی می شود
هنگامی که یک کار پیش زمینه متوقف یا دوباره راه اندازی می شود، به ترتیب.

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

هنگامی که یک شغل ایجاد می شود، یک شماره شغل به آن اختصاص می یابد. برای پوسته های تعاملی، این عدد است
چاپ شده در داخل "[..]"، و پس از آن شناسه فرآیندهای فرآیندهای موجود در کار زمانی که یک
دستور ناهمزمان اجرا می شود. یک شغل ممکن است در bg, fg, شغل ها, کشتنو صبر کنيد
دستورات یا توسط شناسه فرآیند آخرین فرآیند در خط لوله فرمان (همانطور که در ذخیره شده است
la $! پارامتر) یا با پیشوند شماره شغل با علامت درصد ("%"). درصد دیگر
همچنین می توان از دنباله ها برای اشاره به مشاغل استفاده کرد:

%+ | %% | % آخرین کار متوقف شده، یا، اگر هیچ شغل متوقف شده ای وجود نداشته باشد، قدیمی ترین
کار در حال اجرا

- شغلی که می شود %+ شغل اگر دومی وجود نداشت.

%n شغل با شماره شغل n.

%?رشته کار با دستور آن که شامل رشته است رشته (خطا رخ می دهد اگر
چندین شغل مطابقت دارند).

%رشته کار با دستور آن که با رشته شروع می شود رشته (خطا رخ می دهد اگر
چندین شغل مطابقت دارند).

هنگامی که یک کار تغییر حالت می دهد (مثلاً یک کار پس زمینه تمام می شود یا کار پیش زمینه متوقف می شود)،
پوسته اطلاعات وضعیت زیر را چاپ می کند:

[عدد] پرچم وضعیت فرمان

جایی که...

عدد شماره شغل شغل است؛

پرچم اگر کار این باشد، کاراکتر «+» یا «-» است %+ or %- شغل، به ترتیب، یا فضا
اگر هیچ کدام نیست

وضعیت وضعیت فعلی کار را نشان می دهد و می تواند:

انجام شده [عدد]
کار خارج شد عدد وضعیت خروج از کار است که حذف شده است
اگر وضعیت صفر باشد.

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

متوقف شد [سیگنال]
کار توسط نشان داده شده متوقف شد سیگنال (اگر هیچ سیگنالی داده نشود،
کار توسط SIGTSTP متوقف شد).

سیگنال-توضیحات ["هسته ریخته شده"]
کار توسط یک سیگنال از بین رفت (مثلاً نقص حافظه، قطع کردن). استفاده کنید کشتن -l
برای لیستی از توضیحات سیگنال پیام "هسته ریخته شده" نشان می دهد
این فرآیند یک فایل اصلی ایجاد کرد.

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

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

POSIX حالت
ورود تنظیم -o پوزيكس حالت باعث خواهد شد با تشکر حتی در مکان‌ها با POSIX سازگارتر رفتار کنید
که در آن پیش فرض ها یا نظرات متفاوت است. توجه داشته باشید که با تشکر همچنان با بدون امضا عمل خواهد کرد
محاسبات 32 بیتی؛ استفاده کنید lksh اگر حسابی روی میزبان است طولانی نوع داده، کامل با ISO C
رفتار تعریف نشده، مورد نیاز است. رجوع به lksh(1) صفحه دستی برای جزئیات. اکثر دیگر
تاریخی، AT&T UNIX ksh-تفاوت های سازگار یا نظری را می توان با استفاده از این غیرفعال کرد
حالت؛ اینها هستند:

· گنو بر هم زدن تغییر مسیر I / O &>پرونده دیگر پشتیبانی نمی شود

· توصیفگرهای فایل ایجاد شده توسط تغییر مسیرهای I/O توسط فرآیندهای فرزند به ارث برده می شوند.

· اعداد با رقم اول صفر به عنوان هشتی تفسیر می شوند.

· La از دست buildin بک اسلش ها را تفسیر نمی کند و فقط گزینه exact را پشتیبانی می کند.-n".

· ... (لیست ناقص است و ممکن است برای R53 تغییر کند)

SH حالت
حالت سازگاری؛ در نظر گرفته شده برای استفاده با اسکریپت های قدیمی که به راحتی قابل تعمیر نیستند. را
تغییرات به شرح زیر است:

· گنو بر هم زدن تغییر مسیر I / O &>پرونده دیگر پشتیبانی نمی شود

· توصیفگرهای فایل ایجاد شده توسط تغییر مسیرهای I/O توسط فرآیندهای فرزند به ارث برده می شوند.

· La از دست buildin بک اسلش ها را تفسیر نمی کند و فقط گزینه exact را پشتیبانی می کند.-n".

· ... (لیست ناقص است و ممکن است برای R53 تغییر کند)

سلامت ورودی خط ویرایش
پوسته از سه حالت خواندن خطوط فرمان از a پشتیبانی می کند تله تایپ(4) در تعاملی
جلسه، کنترل شده توسط ایمکس, gmacsو vi گزینه ها (حداکثر یکی از اینها را می توان در
یک بار). پیش فرض است ایمکس. حالت های ویرایش را می توان به صراحت با استفاده از تنظیم ساخته شده در.
اگر هیچ یک از این گزینه ها فعال نباشد، پوسته به سادگی خطوط را با استفاده از حالت عادی می خواند تله تایپ(4)
راننده. اگر ایمکس or gmacs گزینه تنظیم شده است، پوسته امکان ویرایش شبیه به emacs را می دهد
فرمان؛ به طور مشابه، اگر vi گزینه تنظیم شده است، پوسته اجازه ویرایش شبیه به vi را می دهد
فرمان این حالت ها در قسمت های بعدی به تفصیل توضیح داده شده است.

در این حالت‌های ویرایش، اگر یک خط طولانی‌تر از عرض صفحه باشد (به COLUMNS مراجعه کنید
پارامتر)، یک کاراکتر '>'، '+' یا '<' در آخرین ستون نمایش داده می شود که نشان می دهد
کاراکترهای بیشتری بعد، قبل و بعد، یا قبل از موقعیت فعلی وجود دارد،
به ترتیب. خط در صورت لزوم به صورت افقی پیمایش می شود.

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

Emacs ویرایش حالت
هنگامی که ایمکس گزینه تنظیم شده است، ویرایش خط ورودی تعاملی فعال است. هشدار: این حالت
کمی متفاوت از حالت emacs در پوسته اصلی Korn است. در این حالت، مختلف
دستورات ویرایش (معمولاً به یک یا چند کاراکتر کنترل محدود می شود) باعث اقدامات فوری می شود
بدون انتظار برای خط جدید چندین دستور ویرایش به کنترل خاصی وابسته هستند
هنگام فراخوانی پوسته، کاراکترها. این اتصالات را می توان با استفاده از اتصال فرمان

در زیر لیستی از دستورات ویرایش موجود است. هر توضیح با عبارت شروع می شود
نام فرمان، پسوند با دو نقطه. یک [n] (اگر دستور را بتوان با a پیشوند گذاشت
شمردن)؛ و هر کلیدی که فرمان به طور پیش‌فرض به آن‌ها محدود می‌شود، با استفاده از نشانه‌گذاری Caret نوشته می‌شود
کاراکتر ASCII ESC به صورت ^[ نوشته می شود. این توالی های کنترلی به حروف کوچک و بزرگ حساس نیستند.
یک پیشوند شمارش برای یک دستور با استفاده از دنباله ^[ وارد می شودn، که در آن n دنباله ای از 1 است
یا ارقام بیشتر مگر اینکه طور دیگری مشخص شده باشد، اگر یک شمارش حذف شود، پیش‌فرض 1 می‌شود.

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

سقط: ^C، ^G
دستور فعلی را لغو کنید، بافر خط را خالی کنید و حالت خروج را روی آن تنظیم کنید
منقطع.

درج خودکار: [n]
به سادگی باعث می شود که کاراکتر به عنوان ورودی تحت اللفظی ظاهر شود. معمولی ترین شخصیت ها
به این مقید هستند.

backward-char: [n] ^B، ^XD، ANSI-CurLeft، PC-CurLeft
مکان نما را به عقب حرکت می دهد n کاراکتر باشد.

کلمه عقب مانده: [n] ^[b، ANSI-Ctrl-CurLeft، ANSI-Alt-CurLeft
مکان نما را به عقب به ابتدای کلمه حرکت می دهد. کلمات شامل
حروف اعداد، زیرخط ('_') و علامت دلار ('$').

آغاز تاریخ: ^[
به آغاز تاریخ می رود.

ابتدای خط: ^A، ANSI-Home، PC-Home
مکان نما را به ابتدای خط ورودی ویرایش شده منتقل می کند.

بزرگ کردن کلمه: [n] ^[C، ^[c
اولین کاراکتر در بعدی را با حروف بزرگ بنویسید n کلمات، رها کردن مکان نما از انتهای آن
از آخرین کلمه

صفحه شفاف: ^[^L
یک دنباله قابل تنظیم در زمان کامپایل را چاپ می کند تا صفحه نمایش را پاک کند و مکان نما را به نمایش بگذارد،
کل درخواست و خط ورودی ویرایش شده فعلی را دوباره ترسیم می کند. دنباله پیش فرض
تقریباً برای تمام پایانه های استاندارد کار می کند.

نظر: ^[#
اگر خط فعلی با یک کاراکتر نظر شروع نمی شود، یکی در آن اضافه می شود
ابتدای خط و خط وارد می شود (مثل اینکه بازگشت فشرده شده باشد).
در غیر این صورت، کاراکترهای نظر موجود حذف شده و مکان نما در آن قرار می گیرد
ابتدای خط

کامل: ^[^[
به طور خودکار تا آنجایی که نام فرمان یا نام فایل منحصر به فرد است تکمیل می شود
حاوی مکان نما اگر کل فرمان یا نام فایل باقیمانده منحصر به فرد باشد، a
فضا پس از تکمیل آن چاپ می شود، مگر اینکه نام دایرکتوری باشد
'/' ضمیمه شده است. اگر هیچ دستور یا نام فایلی با کلمه جزئی فعلی وجود نداشته باشد
به عنوان پیشوند آن، یک کاراکتر زنگ خروجی می‌شود (معمولاً باعث می‌شود یک بوق به صدا درآید).

فرمان کامل: ^X^[
به‌طور خودکار به اندازه‌ای که نام فرمان جزئی منحصربه‌فرد است، تکمیل می‌شود
کلمه تا مکان نما به عنوان پیشوند آن، همانطور که در کامل دستور بالا

فایل کامل: ^[^X
به طور خودکار به اندازه ای که نام فایل جزئی منحصر به فرد است تکمیل می شود
کلمه تا مکان نما به عنوان پیشوند آن، همانطور که در کامل دستور شرح داده شده در بالا

فهرست کامل: ^I، ^[=
تا جایی که امکان دارد کلمه فعلی را کامل کنید و موارد ممکن را فهرست کنید
تکمیل برای آن اگر فقط یک تکمیل ممکن است، مطابق با کامل
دستور بالا توجه داشته باشید که ^I معمولا توسط کلید TAB (تبلیتور) تولید می شود.

delete-char-backward: [n] ERASE، ^؟، ^H
حذف می شود n کاراکترها قبل از مکان نما

delete-char-forward: [n] ANSI-Del، PC-Del
حذف می شود n کاراکترهای بعد از مکان نما

delete-word-backward: [n] WERASE، ^[^؟، ^[^H، ^[h
حذف می شود n کلمات قبل از مکان نما

delete-word-forward: [n] ^[د
کاراکترهای بعد از مکان نما را تا انتهای آن حذف می کند n کلمات.

تاریخچه پایین: [n] ^N، ^XB، ANSI-CurDown، PC-CurDown
بافر تاریخچه را به جلو پیمایش می کند n خطوط (بعد). هر خط ورودی در اصل
درست پس از آخرین ورودی در بافر تاریخ شروع می شود، بنابراین پایین تاریخ نیست
مفید تا هر دو تاریخچه جستجو, تاریخچه جستجو or بالا تاریخ بوده است
انجام.

کلمه کوچک: [n] ^[L، ^[l
حروف کوچک بعدی n کلمات.

ویرایش خط: [n] ^ Xe
خط را ویرایش کنید n یا خط فعلی، اگر مشخص نشده باشد، به صورت تعاملی. واقعی
دستور اجرا شده است fc -e ${بصری:-${ویرایشگر:-vi}} n.

پایان تاریخ: ^[>
به پایان تاریخ می رود.

پایان خط: ^E، ANSI-End، PC-End
مکان نما را به انتهای خط ورودی منتقل می کند.

eot: ^_
به عنوان انتهای فایل عمل می کند. این مفید است زیرا ورودی حالت ویرایش، عادی را غیرفعال می کند
متعارف سازی ورودی ترمینال

eot-or-delete: [n] ^D
به عنوان عمل می کند خوردن اگر تنها در یک خط; در غیر این صورت به عنوان عمل می کند delete-char-forward.

خطا: (قید نشده)
خطا (زنگ را به صدا درآورید).

نقطه تبادل و علامت: ^X^X
مکان نما را در جایی که علامت است قرار می دهد و علامت را در جایی که مکان نما قرار داشت تنظیم می کند.

گسترش فایل: ^[*
یک "*" به کلمه فعلی اضافه می کند و کلمه را با نتیجه جایگزین می کند
اجرای globbing فایل روی word. اگر هیچ فایلی با الگو مطابقت نداشته باشد، زنگ است
پله

فوروارد-char: [n] ^F، ^XC، ANSI-CurRight، PC-CurRight
مکان نما را به جلو حرکت می دهد n کاراکتر باشد.

رو به جلو: [n] ^[f، ANSI-Ctrl-CurRight، ANSI-Alt-CurRight
مکان نما را به سمت جلو به انتهای قسمت حرکت می دهد nکلمه ام

تاریخچه گفت: [n] ^[g
به شماره تاریخچه می رود n.

kill-line: کشتن
کل خط ورودی را حذف می کند.

منطقه کشتن: ^W
ورودی بین مکان نما و علامت را حذف می کند.

kill-to-eol: [n] ^ ک
اگر ورودی را از مکان نما تا انتهای خط حذف می کند n مشخص نشده است؛
در غیر این صورت کاراکترهای بین مکان نما و ستون را حذف می کند n.

لیست: ^[?
فهرستی مرتب‌شده و ستون‌بندی شده از نام‌های فرمان یا نام فایل (در صورت وجود) را چاپ می‌کند
کلمه جزئی حاوی مکان نما را کامل کنید. نام دایرکتوری '/' اضافه شده است
به آنها.

لیست-فرمان: ^X؟
فهرستی مرتب‌شده و ستون‌بندی شده از نام‌های فرمان (در صورت وجود) را چاپ می‌کند که می‌تواند آن را تکمیل کند
کلمه جزئی حاوی مکان نما

لیست فایل: ^X^Y
فهرستی مرتب‌شده و ستون‌بندی شده از نام فایل‌ها (در صورت وجود) را چاپ می‌کند که می‌تواند تکمیل شود
کلمه جزئی حاوی مکان نما نشانگرهای نوع فایل همانطور که توضیح داده شد اضافه می شوند
زیر فهرست در بالا.

خط جدید: ^J, ^M
باعث می شود خط ورودی فعلی توسط پوسته پردازش شود. مکان نما فعلی
موقعیت ممکن است در هر نقطه از خط باشد.

newline-and-next: ^O
باعث می شود خط ورودی فعلی توسط پوسته پردازش شود و خط بعدی از
تاریخ تبدیل به خط فعلی می شود. این فقط پس از یک مفید است بالا تاریخ,
تاریخچه جستجو or تاریخچه جستجو.

بدون عملیات: ترک
این هیچ کاری نمی کند.

پیشوند-1: ^[
توالی دستورات 2 کاراکتری را معرفی می کند.

پیشوند-2: ^X، ^[[، ^[O
توالی دستورات 2 کاراکتری را معرفی می کند.

prev-hist-word: [n] ^[.، ^[_
آخرین کلمه، یا، اگر داده شود، nامین کلمه (مبتنی بر صفر) کلمه قبلی (در تکرار
دستور اجرا، دوم آخرین، سوم آخر و غیره) در مکان نما درج می شود. استفاده از
این دستور ویرایش علامت را حذف می کند.

نقل قول: ^^، ^V
کاراکتر زیر به معنای واقعی کلمه به جای دستور ویرایش در نظر گرفته می شود.

ترسیم مجدد: ^L
آخرین خط رشته درخواست و خط ورودی فعلی را مجدداً در یک خط جدید چاپ می کند
خط.

search-character-backward: [n] ^[^]
جستجوی عقب در خط فعلی برای nوقوع هفتم شخصیت بعدی
تایپ شده

جستجو-شخصیت-به جلو: [n] ^]
جستجو به جلو در خط فعلی برای nوقوع هفتم شخصیت بعدی
تایپ شده

تاریخچه جستجو: ^R
وارد حالت جستجوی افزایشی شوید. فهرست تاریخچه داخلی به صورت معکوس جستجو می شود
دستورات مطابق با ورودی یک '^' اولیه در رشته جستجو لنگر می کند
جستجو کردن. کلید فرار از حالت جستجو خارج می شود. دستورات دیگر، از جمله توالی
از فرار به عنوان پیشوند-1 به دنبال یک پیشوند-1 or پیشوند-2 کلید بعد از آن اجرا خواهد شد
خروج از حالت جستجو را سقط دستور (^G) خط ورودی قبلی را بازیابی می کند
جستجو شروع شد پی در پی تاریخچه جستجو دستورات به جستجوی عقب ادامه می دهند
وقوع قبلی بعدی الگو. بافر تاریخ فقط یک را حفظ می کند
تعداد محدود خطوط؛ قدیمی ترین ها در صورت لزوم دور ریخته می شوند.

تاریخچه جستجو: ANSI-PgUp، PC-PgUp
در بافر تاریخچه دستوراتی را که ابتدای آنها مطابقت دارد به عقب جستجو کنید
بخشی از خط ورودی قبل از مکان نما. هنگامی که در یک خط خالی استفاده می شود، این دارد
همان اثر بالا تاریخ.

جستجو-تاریخچه-پایین: ANSI-PgDn، PC-PgDn
در بافر تاریخچه دستوراتی را جستجو کنید که ابتدای آنها با آن مطابقت دارد
بخشی از خط ورودی قبل از مکان نما. هنگامی که در یک خط خالی استفاده می شود، این دارد
همان اثر پایین تاریخ. این فقط پس از یک مفید است بالا تاریخ,
تاریخچه جستجو or تاریخچه جستجو.

set-mark-command: ^[
علامت را در موقعیت مکان نما قرار دهید.

transpose-chars: ^T
اگر در انتهای خط، یا اگر gmacs گزینه تنظیم شده است، این دو را مبادله می کند
شخصیت های قبلی؛ در غیر این صورت کاراکترهای قبلی و فعلی را مبادله می کند و
مکان نما را یک کاراکتر به سمت راست حرکت می دهد.

تاریخچه بالا: [n] ^P، ^XA، ANSI-CurUp، PC-CurUp
بافر تاریخچه را به عقب اسکرول می کند n خطوط (قبلتر).

حرف کوچک: [n] ^[U، ^[u
حروف بزرگ بعدی n کلمات.

نسخه: ^[^V
نمایش نسخه از با تشکر. بافر ویرایش فعلی به محض دریافت کلید بازیابی می شود
فشرده می شود. بازیابی فشار کلید پردازش می شود، مگر اینکه یک فاصله باشد.

یانک: ^Y
آخرین رشته متن کشته شده را در موقعیت مکان نما درج می کند.

یانک پاپ: ^[y
بلافاصله بعد از یانک، رشته متن درج شده را با بعدی قبلی جایگزین می کند
رشته متن کشته شده

Vi ویرایش حالت
توجه داشته باشید: حالت ویرایش خط فرمان vi یتیم است، اما همچنان کاربردی است. 8 بیت تمیز است
اما به طور خاص از UTF-8 یا MBCS پشتیبانی نمی کند.

ویرایشگر خط فرمان vi در با تشکر اساساً همان دستورات را دارد vi(1) ویرایشگر با
استثناهای زیر:

· شما در حالت درج شروع می کنید.

· نام فایل و دستورات تکمیل دستور وجود دارد: =، \، *، ^X، ^E، ^F، و،
به صورت اختیاری، و .

· La _ فرمان متفاوت است (در با تشکر، آخرین دستور آرگومان است. که در vi(1) می رود
تا ابتدای خط فعلی).

· La / و G دستورات در جهت مخالف حرکت می کنند j فرمان

· دستوراتی که در یک ویرایشگر خطی معنی ندارند در دسترس نیستند (مثلاً صفحه نمایش
دستورات حرکت و exدوقطه به سبک (1):) دستورات).

پسندیدن vi(1)، دو حالت وجود دارد: حالت "درج" و حالت "فرمان". در حالت درج، بیشتر
کاراکترها به سادگی در بافر در موقعیت مکان نما قرار می گیرند که تایپ می شوند.
با این حال، با برخی از شخصیت ها به طور خاص رفتار می شود. به طور خاص، شخصیت های زیر هستند
برگرفته از جریان تله تایپ(4) تنظیمات (نگاه کنید به استی(1)) و معنای معمول خود را دارند (مقادیر عادی
داخل پرانتز هستند: kill (^U)، پاک کردن (^?)، werase (^W)، eof (^D)، intr (^C) و ترک (^\).
علاوه بر موارد فوق، کاراکترهای زیر نیز به طور ویژه در درج مورد بررسی قرار می گیرند
حالت:

^E فرمان و شمارش نام فایل (به زیر مراجعه کنید).

^F فرمان و تکمیل نام فایل (به زیر مراجعه کنید). اگر دو بار متوالی استفاده شود، لیستی از
تکمیل های احتمالی نمایش داده می شود. اگر برای بار سوم استفاده شود، تکمیل لغو می شود.

^H کاراکتر قبلی را پاک می کند.

^J | ^M انتهای خط. خط فعلی توسط پوسته خوانده، تجزیه و اجرا می شود.

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

^X فرمان و گسترش نام فایل (به زیر مراجعه کنید).

ویرایشگر را در حالت فرمان قرار می دهد (به زیر مراجعه کنید).

نام فایل اختیاری و تکمیل فرمان (نگاه کنید به ^F بالا)، فعال با تنظیم -o
vi-tabcomplete.

در حالت فرمان، هر کاراکتر به عنوان یک فرمان تفسیر می شود. شخصیت هایی که این کار را نمی کنند
با دستورات مطابقت دارند، ترکیب غیر قانونی دستورات هستند یا دستوراتی هستند که نمی توانند باشند
انجام شده، همه باعث ایجاد بوق می شوند. در توضیحات دستور زیر، یک [n] نشان می دهد
فرمان ممکن است با یک پیشوند (مثلاً 10l 10 کاراکتر به سمت راست حرکت می کند). اگر شماره نباشد
پیشوند استفاده می شود، n 1 در نظر گرفته می شود مگر اینکه طور دیگری مشخص شده باشد. اصطلاح «جاری
موقعیت» به موقعیت بین مکان نما و کاراکتر قبل از مکان نما اشاره دارد.
"کلمه" دنباله ای از حروف، اعداد و نویسه های زیرخط یا دنباله ای از غیر است.
حروف، غیر رقم، بدون خط، و بدون فاصله سفید (به عنوان مثال "ab2*&^" شامل دو
کلمات) و "کلمه بزرگ" دنباله ای از کاراکترهای بدون فاصله است.

ویژه با تشکر دستورات vi:

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

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

# کاراکتر نظر ('#') را در ابتدای خط فعلی وارد کنید و برگردید
خط به پوسته (معادل I#^J).

[n]g لایک کنید G، مگر اینکه n مشخص نشده است، به جدیدترین یاد شده می رود
خط.

[n]v ویرایش خط n با استفاده از vi(1) ویرایشگر؛ اگر n مشخص نشده است، خط فعلی است
ویرایش شده. دستور واقعی اجرا شده است fc -e ${بصری:-${ویرایشگر:-vi}} n.

* و ^X فرمان یا بسط نام فایل به کلمه بزرگ فعلی (با یک
اگر کلمه حاوی کاراکترهای globbing فایل نباشد، '*' اضافه می شود) - کلمه بزرگ است
با کلمات حاصل جایگزین شد. اگر کلمه بزرگ فعلی اولین کلمه باشد
خط یا به دنبال یکی از کاراکترهای ';'، '|'، '&'، '('، یا ')'، و نه
حاوی یک اسلش ('/')، سپس بسط فرمان انجام می شود. در غیر این صورت نام فایل
گسترش انجام می شود. گسترش فرمان با کلمه بزرگ در برابر همه مطابقت دارد
نام مستعار، توابع، و دستورات داخلی و همچنین هر فایل اجرایی یافت شده
با جستجوی دایرکتوری ها در پارامتر PATH. گسترش نام فایل مطابقت دارد
کلمه بزرگ در برابر فایل های دایرکتوری فعلی. پس از گسترش،
مکان نما درست پس از آخرین کلمه قرار می گیرد و ویرایشگر در حالت درج است.

[n]\، [n]^F، [n] و [n]
تکمیل دستور/نام فایل. کلمه بزرگ فعلی را با طولانی ترین جایگزین کنید
تطابق منحصر به فرد پس از اجرای دستور و گسترش نام فایل به دست می آید.
تنها در صورتی شناخته می شود که vi-tabcomplete گزینه تنظیم شده است، در حالی که تنهاست
تشخیص داده می شود اگر vi-esccomplete گزینه تنظیم شده است (نگاه کنید به تنظیم -o) اگر n مشخص شده است،
la nتکمیل ممکن انتخاب شده است (همانطور که توسط فرمان/نام فایل گزارش شده است
دستور شمارش).

= و ^E فرمان/شمارش نام فایل. تمام دستورات یا فایل هایی را که با آن مطابقت دارند فهرست کنید
کلمه بزرگ فعلی

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

@c گسترش ماکرو دستورات موجود در نام مستعار را اجرا کنید c.

دستورات حرکت درون خطی:

[n]h و [n]^ اچ
حرکت به سمت چپ n کاراکتر باشد.

[n]زمین [n]
برو راست n کاراکتر باشد.

0 به ستون 0 بروید.

^ به اولین کاراکتر بدون فضای سفید بروید.

[n]| انتقال به ستون n.

$ حرکت به آخرین کاراکتر.

[n]b به عقب حرکت کنید n کلمات.

[n]B به عقب حرکت کنید n کلمات بزرگ

[n]e تا آخر کلمه حرکت کنید، n بار.

[n]E تا انتهای کلمه بزرگ حرکت کنید، n بار.

[n]w به جلو حرکت کنید n کلمات.

[n]W به جلو حرکت کنید n کلمات بزرگ

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

[n]fc به سمت جلو حرکت کنید nوقوع هفتم شخصیت c.

[n]Fc به سمت عقب حرکت کنید nوقوع هفتم شخصیت c.

[n]tc حرکت به جلو به درست قبل از nوقوع هفتم شخصیت c.

[n]Tc حرکت به عقب به درست قبل از nوقوع هفتم شخصیت c.

[n]؛ آخرین را تکرار می کند f, F, t، یا T فرمان

[n]، آخرین مورد را تکرار می کند f, F, t، یا T فرمان، اما در جهت مخالف حرکت می کند.

دستورات حرکت بین خطی:

[n]j، [n]+ و [n]^ ن
حرکت به nخط بعدی تاریخ

[n]k، [n]-، و [n]^ پ
حرکت به nخط قبلی در تاریخ

[n]G انتقال به خط n در تاریخ؛ اگر n مشخص نشده است، تعداد اولین
خط یادآوری استفاده می شود.

[n]g لایک کنید G، مگر اینکه n مشخص نشده است، به آخرین خط به خاطر سپرده شده می رود.

[n]/رشته
جستجوی عقب در طول تاریخ برای nخط هفتم حاوی رشته؛ اگر رشته
با '^' شروع می شود، باقیمانده رشته باید در ابتدای تاریخ ظاهر شود
خط برای مطابقت.

[n]?رشته
مثل /، به جز اینکه در طول تاریخ به جلو جستجو می کند.

[n]n جستجو برای nوقوع آخرین رشته جستجو. جهت جستجو
همان جستجوی آخر است.

[n]N جستجو برای nوقوع آخرین رشته جستجو. جهت جستجو
برعکس آخرین جستجو است.

ANSI-CurUp, PC-PgUp
کاراکترها را از ابتدای خط به موقعیت مکان نما فعلی ببرید
رشته را جستجو کنید و برای خطوطی که با این شروع می شوند، یک تاریخچه به عقب جستجو کنید
رشته؛ موقعیت مکان نما را حفظ کنید این فقط در حالت درج کار می کند و آن را حفظ می کند
فعال شده است

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

[n]یک متن پیوست n بار؛ درست بعد از موقعیت فعلی به حالت درج می رود. را
append تنها در صورتی تکرار می شود که حالت فرمان دوباره وارد شود، یعنی استفاده می شود.

[n]همانند a، به جز اینکه در انتهای خط اضافه می شود.

[n]i درج متن n بار؛ در موقعیت فعلی به حالت درج می رود. درج
تنها در صورتی تکرار می شود که حالت فرمان دوباره وارد شود، یعنی استفاده می شود.

[n]من همان i، با این تفاوت که درج درست قبل از اولین کاراکتر غیر خالی انجام می شود.

[n]s بعدی را جایگزین کنید n کاراکترها (یعنی کاراکترها را حذف کنید و وارد درج شوید
حالت)

S جایگزین خط کامل. همه کاراکترها از اولین کاراکتر غیر خالی تا انتها
از خط حذف شده و حالت درج وارد می شود.

[n]cحرکت-cmd
تغییر از موقعیت فعلی به موقعیت ناشی از n حرکت-cmds (یعنی
منطقه مشخص شده را حذف کنید و به حالت درج بروید). اگر حرکت-cmd is c، خط
با شروع از اولین کاراکتر غیر خالی تغییر می کند.

C از موقعیت فعلی به انتهای خط (یعنی حذف به انتهای خط) تغییر دهید
خط و به حالت درج بروید).

[n]x بعدی را حذف کنید n کاراکتر باشد.

[n]X قبلی را حذف کنید n کاراکتر باشد.

D تا آخر خط حذف کنید.

[n]dحرکت-cmd
حذف از موقعیت فعلی به موقعیت ناشی از n حرکت-cmds;
حرکت-cmd یک فرمان حرکت است (به بالا مراجعه کنید) یا d، در این صورت خط فعلی است
حذف شده.

[n]rc بعدی را جایگزین کنید n شخصیت ها با شخصیت c.

[n]R جایگزین کنید. وارد حالت درج شوید اما به جای درج کاراکترهای موجود را بازنویسی کنید
قبل از شخصیت های موجود جایگزینی تکرار می شود n بار.

[n]~ تغییر مورد بعدی n کاراکتر باشد.

[n]yحرکت-cmd
از موقعیت فعلی به موقعیت ناشی از n حرکت-cmds به
یانک بافر; اگر حرکت-cmd is y، کل خط پیچ خورده است.

Y یاک از موقعیت فعلی تا انتهای خط.

[n]p محتویات بافر yank را درست بعد از موقعیت فعلی جای‌گذاری کنید. n بار.

[n]P همان p، به جز اینکه بافر در موقعیت فعلی چسبانده شده است.

دستورات متفرقه vi

^ جی و ^ ام
خط فعلی توسط پوسته خوانده، تجزیه و اجرا می شود.

^L و ^R
خط فعلی را دوباره ترسیم کنید.

[n]. آخرین دستور ویرایش را دوباره انجام دهید n بار.

u آخرین دستور ویرایش را لغو کنید.

U تمام تغییرات ایجاد شده در خط فعلی را لغو کنید.

PC Home، End، Del و کلیدهای مکان نما
آنها همانطور که انتظار می رود حرکت می کنند، هم در حالت درج و هم در حالت دستور.

داخل و ترک
کاراکترهای ترمینال قطع و خروج باعث حذف خط فعلی می شود و
یک درخواست جدید برای چاپ

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


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

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

  • 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