англійськафранцузькаіспанська

Ad


Значок OnWorks

mksh-static - Інтернет у хмарі

Запустіть mksh-static у безкоштовному хостинг-провайдері OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда mksh-static, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


mksh, sh — Оболонка MirBSD Korn

СИНТАКСИС


mksh [-+abCefhiklmnprUuvXx] [-T [!]tty | -] [-+о варіант] [-c рядок | -s | файл
[аргумент ...]]
вбудована назва [аргумент ...]

ОПИС


mksh це інтерпретатор команд, призначений як для інтерактивного використання, так і для використання сценаріїв оболонки. Його
Командна мова є наднабором мови оболонки sh(C) і значною мірою сумісна з
оригінальна оболонка Korn. Інколи ця сторінка посібника може давати поради щодо написання сценаріїв; поки це
іноді все-таки враховують сценарії портативної оболонки або різні стандарти
інформація в першу чергу подається mksh на увазі, і його слід сприймати як таке.

Я an Android Користувач so що таке mksh?
mksh є інтерпретатором оболонки/команд UNIX, подібним до COMMAND.COM or CMD.EXE, який має
деякий час включено в Android Open Source Project. По суті, це програма
який працює в терміналі (вікно консолі), приймає введення користувача та запускає команди або сценарії,
які також можуть попросити інші програми, навіть у фоновому режимі. Будь-які привілеї
спливаючі вікна, з якими ви можете зіткнутися, таким чином, не є mksh питання, але питання деяких інших
програма, яка його використовує.

благання
Більшість вбудованих модулів можна викликати безпосередньо, наприклад, якщо посилання вказує від його імені на
оболонка; не всі мають сенс, були перевірені або працюють взагалі.

Варіанти такі:

-c рядок mksh виконає команду(и), що міститься в рядок.

-i Інтерактивна оболонка. Оболонка, яка зчитує команди зі стандартного введення
«інтерактивний», якщо використовується ця опція або якщо стандартний введення і стандартна помилка
приєднані до a tty(4). Інтерактивна оболонка має увімкнений контроль завдань, ігнорує
сигнали SIGINT, SIGQUIT і SIGTERM, а також друкує підказки перед читанням введених даних
(див. параметри PS1 і PS2). Він також обробляє параметр ENV або
mkshrc файл (див. нижче). Для неінтерактивних оболонок треккол опція включена
за замовчуванням (див комплект команда нижче).

-l Оболонка входу. Якщо базове ім'я, оболонка викликається з (тобто argv[0]) починається з
'-' або якщо використовується ця опція, оболонка вважається оболонкою для входу; подивитися
Введення в експлуатацію файли нижче.

-p Привілейована оболонка. Оболонка є «привілейованою», якщо це робить реальний ідентифікатор користувача або ідентифікатор групи
не збігається з ефективним ідентифікатором користувача або ідентифікатором групи (див getuid(2) і getgid(2)).
Якщо видалити привілейований параметр, оболонка встановить свій ефективний ідентифікатор користувача
(ідентифікатор групи) до його реального ідентифікатора користувача (ідентифікатор групи). Додаткові наслідки див Введення в експлуатацію
файли. Якщо оболонка має права і цей прапор не встановлено явно, то
Параметр «привілейований» видаляється автоматично після обробки файлів запуску.

-r Обмежена оболонка. Оболонка «обмежена», якщо використовується ця опція. Наступне
обмеження вступають в силу після того, як оболонка обробить будь-який профіль і ENV
файли:

· Команда cdчдір) команда вимкнена.
· Параметри SHELL, ENV і PATH не можна змінити.
· Назви команд не можна вказувати за допомогою абсолютних або відносних шляхів.
· Команда -p опція вбудованої команди команда не можна використовувати.
· Не можна використовувати переспрямування, які створюють файли (наприклад, '>', '>|', '>>', '<>').

-s Оболонка зчитує команди зі стандартного введення; всі аргументи без варіантів є
позиційні параметри.

-T ім'я Ікра mksh на tty(4) пристрій надано. Шляхи ім'я, /dev/ttyCname та
/dev/ttyname намагаються по порядку. Хіба що ім'я починається зі знака оклику
('!'), це виконується у підоболонці та повертається негайно. Якщо ім'я є тире
('-'), замість цього від'єднатися від керуючого терміналу (демонізувати).

Крім перерахованого вище, варіанти, описані в комплект також можна використовувати вбудовану команду
у командному рядку: обидва [-+abCefhkmnuvXx] І [-+о варіант] можна використовувати для однієї літери
або довгі варіанти відповідно.

Якщо ні -c ні -s вказано параметр, вказує перший аргумент без параметра
ім'я файлу, з якого оболонка читає команди. Якщо немає аргументів без варіантів, то
оболонка читає команди зі стандартного введення. Назва оболонки (тобто вміст
$0) визначається наступним чином: якщо -c використовується параметр і є аргумент без опції,
воно використовується як назва; якщо команди зчитуються з файлу, файл використовується як файл
ім'я; в іншому випадку використовується базове ім'я, з яким була викликана оболонка (тобто argv[0]).

Статус завершення оболонки 127, якщо командний файл, зазначений у командному рядку, може
не відкривається або не має значення нуль, якщо під час виконання a
сценарій. За відсутності фатальних помилок статус виходу є статусом останньої команди
виконується або нуль, якщо жодна команда не виконується.

Введення в експлуатацію файли
Фактичне розташування цих файлів див ФАЙЛИ. Оболонка входу обробляє систему
спочатку профіль. Потім привілейована оболонка обробляє профіль suid. Непривілейований логін
далі shell обробляє профіль користувача. Непривілейована інтерактивна оболонка перевіряє значення
параметра ENV після того, як він піддавався параметру, команді, арифметиці та тильді ('~')
заміна; якщо не встановлено або порожній, профіль користувача mkshrc обробляється; інакше, якщо файл
ім'я якого є результат підстановки існує, він обробляється; небуття мовчить
ігнорується. Привілейована оболонка потім скидає привілеї, якщо жодна з них не була -p варіант, наведений на
командного рядка, ані встановленого під час виконання файлів запуску.

Command синтаксис
Оболонка починає аналізувати введені дані, видаляючи будь-які комбінації зворотної косої риски та нового рядка
зламати його слова. Слова (які є послідовністю символів) розмежовуються без лапок
пробіли (пробіл, табуляція та новий рядок) або метасимволи ('<', '>', '|', ';', '(',',
')' та '&'). Окрім розмежування слів, пробіли та табуляції ігноруються, а нові рядки
зазвичай команди розмежування. Метасимволи використовуються для побудови наступного лексеми:
'<', '<&', '<<', '<<<', '>', '>&', '>>', '&>' тощо використовуються для вказівки перенаправлень (див.
Вхід / вихід перенаправлення нижче); '|' використовується для створення трубопроводів; "|&" використовується для створення спільного
процеси (див Спільні процеси нижче); ';' використовується для розділення команд; «&» використовується для створення
асинхронні трубопроводи; '&&' та '||' використовуються для вказівки умовного виконання; ';;', ';&'
і ';|' використовуються в випадок заяви; '(( .. ))' використовується в арифметичних виразах; і
нарешті, '( .. )' використовується для створення підоболонок.

Пробіли та метасимволи можна вводити в лапки окремо за допомогою зворотної косої риски ('\') або в
групи з подвійними ('"') або одинарними ("'") лапками. Зверніть увагу, що наведені нижче символи
також спеціально обробляються оболонкою і повинні бути процитовані, якщо вони хочуть представляти себе:
'\', '"', ''', '#', '$', '`', '~', '{', '}', '*', '?' та '['. перші три з них
є вищезгаданими символами цитування (див Цитувати нижче); "#", якщо використовується в
початок слова, вводить коментар – усе після «#» до найближчого
новий рядок ігнорується; «$» використовується для введення параметра, команди та арифметики
заміни (див Заміна нижче); "`" вводить стару заміну команди
(Див. Заміна нижче); '~' розпочинає розширення каталогу (див тильда розширення нижче); '{'
і '}' розмежування CSH(1)-стилі чергування (див Браслет розширення нижче); і, нарешті, '*',
«?» і «[» використовуються при генерації назв файлів (див філе ім'я моделі нижче).

Коли слова та лексеми аналізуються, оболонка створює команди, з яких є дві основні
типи: прості команди, як правило, програми, які виконуються, і складені-команди, такий
as та цінності та if оператори, конструкції групування та визначення функцій.

Проста команда складається з деякої комбінації призначення параметрів (див параметри
нижче), перенаправлення введення/виведення (див Вхід / вихід переадресовує нижче) та командні слова;
єдине обмеження полягає в тому, що призначення параметрів стоїть перед будь-якими командними словами. The
командні слова, якщо такі є, визначають команду, яку потрібно виконати, та її аргументи. The
Команда може бути вбудованою командою оболонки, функцією або зовнішньою командою (тобто окремою
виконуваний файл, який знаходиться за допомогою параметра PATH; подивитися Command виконання нижче).
Зауважте, що всі командні конструкції мають статус виходу: для зовнішніх команд це пов’язано
до статусу, повернутого чекати(2) (якщо команду не вдалося знайти, статус виходу такий
127; якщо його не вдалося виконати, статус виходу 126); статус виходу іншої команди
конструкції (вбудовані команди, функції, складені команди, конвеєри, списки тощо)
добре визначені та описані там, де описана конструкція. Вихідний статус a
Команда, що складається лише з призначення параметрів, є командою останньої заміни команди
виконується під час призначення параметрів або 0, якщо не було заміни команд.

Команди можна об’єднати в ланцюжок за допомогою '|' токен для формування конвеєрів, у яких
стандартний вихід кожної команди, але остання передається по каналу (див труба(2)) до стандартного введення
наступну команду. Статус виходу конвеєра є статусом його останньої команди, якщо
трубопровід встановлено параметр (див. там). Усі команди конвеєра виконуються окремо
підоболонки; це дозволено POSIX, але відрізняється від обох варіантів AT&T UNIX ksh, Де
всі команди, крім останньої, виконувались у підоболонках; див зчитування опис вбудованого для
наслідки та обхідні шляхи. Конвеєр може мати префікс '!' зарезервовано слово яке
призводить до того, що статус виходу конвеєра логічно доповнюється: якщо вихідний статус
було 0, доповнений статус буде 1; якщо початковий статус не був 0, доповнений
статус буде 0.

списки команд можна створити, розділивши конвеєри будь-яким із наступних маркерів:
'&&', '||', '&', '|&' та ';'. Перші два призначені для умовного виконання: «cmd1 && cmd2"
виконує cmd2 тільки за умови виходу статусу cmd1 дорівнює нулю; '||' є навпаки - cmd2 is
виконується лише за умови статусу виходу cmd1 є відмінним від нуля. '&&' та '||' мають рівний пріоритет
яка є вищою за значення '&', '|&' та ';', які також мають однаковий пріоритет. Примітка
що '&&' та '||' оператори є «лівоасоціативними». Наприклад, обидва
команди будуть друкувати лише "бар":

$ false && echo foo || ехо-бар
$ правда || echo foo && echo bar

Маркер '&' викликає асинхронне виконання попередньої команди; тобто оболонка
запускає команду, але не чекає її завершення (оболонка відстежує
стан асинхронних команд; подивитися робота контроль нижче). Коли є асинхронна команда
запускається, коли контроль завдань вимкнено (тобто в більшості сценаріїв), команда запускається з
Сигнали SIGINT і SIGQUIT ігноруються, а вхід перенаправляється з / dev / null (проте,
переспрямування, зазначені в асинхронній команді, мають пріоритет). Оператор '|&'
запускає спільний процес, який є особливим видом асинхронного процесу (див Спільні процеси
нижче). Зауважте, що команда має слідувати за '&&' та '||' операторів, поки це не потрібно
дотримуйтесь '&', '|&' або ';'. Статус виходу зі списку є статусом останньої виконаної команди,
за винятком асинхронних списків, для яких статус виходу дорівнює 0.

Складені команди створюються за допомогою наступних зарезервованих слів. Ці слова лише
розпізнається, якщо вони не в лапках і якщо вони використовуються як перше слово команди (тобто
їм не можуть передувати призначення параметрів або перенаправлення):

тоді функція інакше! (
зробити esac, якщо час [[ ((
виконано до {
elif для select while }

У наступних описах складених команд списки команд (позначаються як список) які
після яких зарезервовані слова мають закінчуватися крапкою з комою, новим рядком або символом (синтаксично
правильне) заповідне слово. Наприклад, усе дійсне:

$ { echo foo; ехо-бар; }
$ { echo foo; ехо-бар }
$ { { echo foo; ехо-бар; } }

Це недійсно:

$ { echo foo; ехо-бар }

(список)
Виконати список у підоболонці. Не існує неявного способу передачі змін середовища
підоболонку назад до її батьківського.

{ список; }
Складена конструкція; список виконується, але не в підоболонці. Зверніть увагу, що '{' і '}'
це зарезервовані слова, а не метасимволи.

випадок слово у [[(] модель [| модель] ...) список термінатор] ... esac
Команда випадок висловлювання намагається відповідати слово проти зазначеного модель; список
пов’язаний з першим успішно збіганим шаблоном, виконується. Візерунки, використані в
випадок оператори такі ж, як і для шаблонів імен файлів, за винятком того, що
обмеження щодо '.' і '/' відкидаються. Зауважте, що будь-який пробіл без лапок перед
і після того, як візерунок знятий; будь-який простір у шаблоні має бути в лапках. Обидва
слово і шаблони підлягають заміні параметрів, команд і арифметики,
а також заміна тильди.

З історичних причин замість них можна використовувати відкриті та закриті дужки in та що С наприклад
випадок $foo { *) нудьгувати бар ;; }.

Список термінаторє:

';;' Завершити після списку.

';&' Перейти до наступного списку.

';|' Оцініть решту кортежів зі списку шаблонів.

Вихідний статус a випадок заява є те, що виконано список; якщо ні список is
виконано, статус виходу дорівнює нулю.

та цінності ім'яслово ...]; робити список; зроблено
Для кожного слово у зазначеному списку слів параметр ім'я встановлюється на слово і
список виконується. Якщо in не використовується для визначення списку слів, параметрів позиції
($1, $2 тощо) використовуються замість них. З історичних причин відкриті та закриті дужки можуть бути
використовується замість do та зроблений наприклад та цінності i; { нудьгувати $i; }. Вихідний статус a та цінності
оператор є останнім статусом виходу список; якщо список ніколи не виконується, статус виходу
дорівнює нулю.

if список; тоді список; [еліф список; тоді список;] ... [інше список;] фі
Якщо статус виходу перший список дорівнює нулю, другий список виконується; інакше,
список після Еліф, якщо такий є, виконується з подібними наслідками. Я падаю
списки, наступні за if та Еліфs fail (тобто вихід із ненульовим статусом), the список
після ще виконується. Вихідний статус an if твердження є те, що не-
умовний список що виконується; якщо немає безумовного список виконується, вихід
статус нульовий.

вибрати ім'яслово ...]; робити список; зроблено
Команда вибрати оператор забезпечує автоматичний метод представлення меню користувачеві
і вибираючи з нього. Перерахований список зазначених слово(s) надруковано на
стандартна помилка, а потім підказка (PS3: зазвичай '#? '). Число, що відповідає
одне з перерахованих слів потім зчитується зі стандартного введення, ім'я встановлено на
вибране слово (або скасовано, якщо вибір недійсний), REPLY встановлюється на те, що було прочитано
(початковий/завершальний пробіл видалено), і список виконується. Якщо порожній рядок (тобто
нуль або більше октетів IFS), меню передруковується без виконання список.

Коли список завершується, перерахований список друкується, якщо REPLY має значення NULL, підказка є
друковані тощо. Цей процес триває до тих пір, поки не буде прочитано кінець файлу, переривання
отримано, або a перерву оператор виконується всередині циклу. Якщо «в слові...».
опущені, використовуються параметри позиції (тобто $1, $2 тощо). Для історичних
з причин, замість них можна використовувати відкриті та закриті дужки do та зроблений наприклад вибрати i; {
нудьгувати $i; }. Вихідний статус a вибрати твердження дорівнює нулю, якщо a перерву твердження є
використовується для виходу з циклу, інакше не дорівнює нулю.

до список; робити список; зроблено
Це працює так в той час як, за винятком того, що тіло виконується лише під час статусу виходу
перший список дорівнює нулю.

в той час як список; робити список; зроблено
A в той час як є попередньо перевіреним циклом. Його тіло виконується так само часто, як і вихідний статус
перший список дорівнює нулю. Вихідний статус a в той час як оператор є останнім статусом виходу
в список в тілі петлі; якщо тіло не виконується, статус виходу є
нуль.

функція ім'я { список; }
Визначає функцію ім'я (Див. Функції нижче). Зауважте, що вказано переспрямування
після визначення функції виконуються щоразу, коли функція виконується, а не коли
виконується визначення функції.

ім'я() команда
Переважно те саме, що функція (Див. Функції нижче). Пробіл (пробіл або табуляція) після
ім'я буде ігноруватися більшу частину часу.

функція ім'я() { список; }
Такий же як і ім'я() (битиізм). The функція ключове слово ігнорується.

час [-p] [трубопровід]
Команда Command виконання розділ описує час зарезервовано слово.

(( вираз ))
Арифметичний вираз вираз оцінюється; еквівалент «нехай вираз» (див
Арифметика вирази і дозволяти команда, нижче) у складеній конструкції.

[[ вираз ]]
Як тест та [ ... ] команди (описані пізніше), з наступним
винятки:

· Поділ полів і генерація імен файлів не виконуються для аргументів.

· Команда -a (І) і -o Оператори (АБО) замінюються на «&&» і «||» відповідно.

· Оператори (наприклад, '-f', '=', '!') повинні бути без лапок.

· Параметр, команда та арифметичні підстановки виконуються як вирази
оцінюваний і відкладений вираз використовується для '&&' і '||' операторів.
Це означає, що в наступному заяві, $( оцінюється тоді і тільки тоді, коли
файлу Foo існує і читається:

$ [[ -r foo && $(

· Другий операнд виразів '!=' і '=' є підмножиною шаблонів (наприклад
порівняння [[ foobar = б*р ]] вдається). Це працює навіть опосередковано:

$ bar=foobar; baz='f*r'
$ [[ $bar = $baz ]]; луна $?
$ [[ $bar = "$baz" ]]; луна $?

Можливо, дивно, що перше порівняння вдається, а друге ні.
Наразі це не стосується всіх метасимволів extglob.

Цитувати
Цитати використовуються для запобігання тому, щоб оболонка спеціально обробляла символи або слова. Існує
три способи цитування. По-перше, '\' бере в лапки наступний символ, якщо він не знаходиться в
кінець рядка, у цьому випадку і '\', і новий рядок видаляються. По-друге, одиночний
quote ("'") цитує все, аж до наступної одинарної лапки (це може охоплювати рядки). По-третє, а
подвійні лапки ('"') дають усі символи, крім '$', '`' та '\', аж до наступного неекранованого
подвійна лапка. "$" і "`" всередині подвійних лапок мають своє звичайне значення (тобто параметр,
арифметика або підстановка команд), за винятком того, що в результатах не виконується розщеплення поля
замін у подвійних лапках, а також має форму заміни команд за старим стилем
увімкнено зворотну косу риску для подвійних лапок. Якщо '\' всередині рядка в подвійних лапках є
після '\', '$', '`' або '"', він замінюється другим символом; якщо за ним слідує
за допомогою нового рядка і '\', і новий рядок видаляються; інакше, як '\', так і
наступні символи не змінюються.

Якщо рядку в одинарних лапках передує '$' без лапок, розгортання зворотної косої риски в стилі C (див.
нижче) застосовано (навіть символи одинарних лапок всередині можуть бути екрановані та не завершуються
рядок тоді); розгорнутий результат розглядається як будь-який інший рядок із одинарними лапками. Якщо
Перед рядком у подвійних лапках стоїть '$' без лапок, '$' просто ігнорується.

Зворотний слеш розширення
У місцях, де розгорнуті зворотні косі риски, певні C і AT&T UNIX ksh або GNU бити стиль
втечі перекладаються. До них належать '\a', '\b', '\f', '\n', '\r', '\t', '\U########',
"\u####" і "\v". Для "\U########" і "\u####" "#" означає шістнадцяткову цифру цього
їх може бути не чотири або вісім; ці екранування перекладають кодову точку Unicode в UTF-8.
Крім того, '\E' та '\e' розширюються до escape-символу.

У друк вбудований режим, '\"', '\' і '\?' явно виключені; вісімкові послідовності
не повинно мати жодного до трьох вісімкових цифр «#» із префіксом нульової цифри ('\0###');
шістнадцяткові послідовності '\x##' не обмежені до двох шістнадцяткових цифр "#"; обидва
вісімкові та шістнадцяткові послідовності перетворюються на необроблені октети; '\#', де # не є жодним із перерахованих вище,
перекладається як \# (зберігаються зворотні косі риски).

Розгортання зворотної косої риски в режимі стилю C дещо відрізняється: вісімкові послідовності '\###' повинні мати
відсутність нульової цифри з префіксом від однієї до трьох вісімкових цифр «#» та отримання вихідних октетів;
шістнадцяткові послідовності '\x#*' жадібно з'їдають якомога більше шістнадцяткових цифр "#" і
закінчується першою не шістнадцятковою цифрою; вони перекладають кодову точку Unicode
UTF-8. Послідовність "\c#", де "#" - це будь-який октет, перекладається як Ctrl-# (що в основному
означає '\c?' стає DEL, все інше має побітове І з 0x1F). Нарешті, '\#', де
# не є жодним із перерахованих вище, перекладається як # (з обрізаною зворотною косою рискою), навіть якщо це
новий рядок.

псевдонімами
Існує два типи псевдонімів: звичайні псевдоніми команд і відстежувані псевдоніми. Псевдоніми команд
зазвичай використовуються як коротка рука для довгої або часто використовуваної команди. Оболонка розширюється
псевдоніми команди (тобто замінює своє значення псевдонімом), коли вона читає перше слово
команди. Розгорнутий псевдонім повторно обробляється, щоб перевірити наявність додаткових псевдонімів. Якщо команда
псевдонім закінчується пробілом або табуляцією, наступне слово також перевіряється на наявність розширення. The
Процес розширення псевдоніма зупиняється, коли знайдено слово, яке не є псевдонімом, коли слово в лапках
знайдено, або коли знайдено псевдонім, який зараз розгортається. Псевдоніми є
зокрема інтерактивна функція: хоча вони справді працюють у сценаріях та на
командний рядок у деяких випадках псевдоніми розширюються під час лексування, тому їх використання має бути в a
відокремити дерево команд від їх визначення; інакше псевдонім не буде знайдено.
Примітно, що списки команд (відокремлені крапкою з комою, у замінах команд також новим рядком)
може бути одним і тим же деревом розбору.

Наступні псевдоніми команд визначаються оболонкою автоматично:

autoload='\typeset -fu'
functions='\typeset -f'
hash='\вбудований псевдонім -t'
history='\buildin fc -l'
integer='\typeset -i'
local='\typeset'
login='\exec login'
nameref='\typeset -n'
nohup='nohup'
r='\builtin fc -e -'
type='\builtin звідки -v'

Відстежувані псевдоніми дозволяють оболонці запам’ятати, де вона знайшла певну команду. Перший
Коли оболонка виконує пошук шляху для команди, позначеної як відстежений псевдонім, вона зберігає
повний шлях команди. Наступного разу, коли команда буде виконана, оболонка перевірить
збережений шлях, щоб переконатися, що він все ще дійсний, і якщо так, уникнути повторення пошуку шляху.
Відстежувані псевдоніми можна перерахувати та створити за допомогою псевдонім -t. Зверніть увагу, що зміна PATH
Параметр очищає збережені шляхи для всіх відстежених псевдонімів. Якщо треккол встановлений параметр
(тобто комплект -o треккол or комплект -h), оболонка відстежує всі команди. Ця опція встановлена
автоматично для неінтерактивних оболонок. Для інтерактивних оболонок лише наступне
команди автоматично відстежуються: як(1) cc(1) CHMOD(1) cp(1) дата(1) ed(1)
emacs(1) GREP(1) ls(1) зробити(1) mv(1) pr(1) rm(1) sed(1) sh(1) vi(1), і хто(1).

Заміна
Перший крок, який виконує оболонка під час виконання простої команди, - це виконати заміни
слова наказу. Існує три види заміни: параметр, команда та
арифметика. Підстановки параметрів, які детально описані в наступному розділі,
прийняти форму $ім'я або ${...}; командні заміни мають вигляд $(команда) Або
(не підтримується) `команда` або (виконується в поточному середовищі) ${ команда;} і смуги
кінцевий новий рядок; а арифметичні заміни мають вигляд $((вираз)). Розбір
Підстановка команд поточного середовища вимагає пробілу, табуляції або нового рядка після відкриття
і щоб закриваюча дужка була розпізнана як ключове слово (тобто перед нею ставиться новий рядок
або крапка з комою). Вони також називаються funsub (заміна функцій) і поводяться так само
функції в цьому місцевий та повертати роботу, і в тому вихід завершує роботу батьківської оболонки; оболонка
варіанти спільні.

Іншим варіантом заміни є valsubs (підстановки значень) ${|команда;} які є
також виконується в поточному середовищі, як-от funsub, але надає спільний доступ до свого вводу/виводу з батьківським;
натомість вони оцінюють будь-яку, спочатку порожню, локальну змінну виразу REPLY
встановити в межах командаs.

Якщо заміна з’являється за межами подвійних лапок, результати заміни є такими
зазвичай підлягає поділу слів або полів відповідно до поточного значення IFS
параметр. Параметр IFS визначає список октетів, які використовуються для розбиття рядка
на кілька слів; будь-які октети із заданого простору, вкладки та нового рядка, які з’являються в IFS
октети називаються «пробілами IFS». Послідовності одного або кількох октетів пробілів IFS, дюйм
комбінація з нулем або одним октетом пробілів, що не є IFS, розмежувати поле. Як особливий випадок,
провідний і кінцевий пробіл IFS видаляються (тобто немає початкового або кінцевого порожнього поля
створений ним); Пробіли на початку або в кінці, які не є IFS, створюють порожнє поле.

Приклад: якщо IFS встановлено на « :”, а VAR встановлено на
“ А : B::D”, заміна $VAR призводить до чотирьох полів: 'A',
"B", "(порожнє поле) і "D". Зауважте, що якщо для параметра IFS встановлено пусте значення
рядок, розділення поля не виконується; якщо його не встановлено, значення за замовчуванням пробіл, табуляція та
використовується новий рядок.

Також зверніть увагу, що розділення поля застосовується лише до безпосереднього результату
заміна. Використовуючи попередній приклад, заміна $VAR:E призводить до
поля: 'A', 'B', '' та 'D:E', а не 'A', 'B', '', 'D' та 'E'. Ця поведінка POSIX
сумісний, але несумісний з деякими іншими реалізаціями оболонки, які виконують розділення полів
у слові, яке містить заміну, або використовувати IFS як загальний роздільник пробілів.

Результати заміни, якщо не вказано інше, також підлягають розширенню
і розширення імені файлу (див. відповідні розділи нижче).

Підстановка команди замінюється результатом, згенерованим зазначеною командою, яка є
працювати в підоболонці. За $(команда) і ${|команда;} і ${ команда;} заміни, нормальні
правила цитування використовуються, коли команда аналізується; однак для застарілих `команда` форма, а
'\', за яким слідує будь-який з '$', '`' або '\', видаляється (як і '"', коли заміна є частиною
рядка в подвійних лапках); зворотний слеш «\», за яким слідує будь-який інший символ, не змінюється.
Як окремий випадок у замінах команд, команда формифайл інтерпретується як
означає замінити вміст файл. Зверніть увагу на це $( має такий же ефект, як і $(кіт фу).

Зауважте, що деякі оболонки не використовують рекурсивний синтаксичний аналізатор для заміни команд, що призводить до
несправність певних конструкцій; щоб бути портативним, використовуйте як обхідний шлях 'x=$(cat) <<"EOF"' (або
newline-keeping 'x=<<"EOF"' extension), натомість, щоб просто вловити рядок. IEEE Std 1003.1
(“POSIX.1”) рекомендує використовувати оператори case у вигляді 'x=$(case $foo in (bar) echo $bar
;; (*) echo $baz ;; esac)', який би працював, але не служив прикладом для цього
проблема портативності.

x=$(випадок $foo в рядку) echo $bar ;; *) echo $baz ;; esac)
# вище не вдалося розібрати старі оболонки; нижче наведено обхідний шлях
x=$(eval $(cat)) <<"EOF"
case $foo in bar) echo $bar ;; *) echo $baz ;; esac
EOF

Арифметичні підстановки замінюються значенням зазначеного виразу. Для
наприклад, команда друк $((2+3*4)) дисплеї 14. Див Арифметика вирази для
опис виразу.

параметри
Параметри є змінними оболонки; їм можна призначити значення і отримати доступ до їх значень
за допомогою підстановки параметрів. Ім'я параметра є одним із спеціальних одиночних
параметри знаків пунктуації або цифри, описані нижче, або літера, за якою слідує нуль або
більше букв або цифр ('_' вважається літерою). Останню форму можна розглядати як масиви
шляхом додавання індексу масиву у вигляді [експр] де експр є арифметичним виразом.
Індекси масиву в mksh обмежені діапазоном від 0 до 4294967295 включно. Тобто,
це 32-розрядне ціле число без знака.

Підстановки параметрів мають вигляд $ім'я, ${ім'я} або ${ім'я[експр]} де ім'я це
ім'я параметра. Заміна всіх елементів масиву на ${ім'я[*]} і ${ім'я[@]} працює
еквівалентно $* і $@ для позиційних параметрів. Якщо заміна виконується на a
параметра (або елемента параметра масиву), який не встановлено, замінюється нульовий рядок
якщо тільки іменник опція (комплект -o іменник or комплект -u) встановлено, у цьому випадку виникає помилка.

Параметрам можна присвоювати значення кількома способами. По-перше, оболонка неявно встановлюється
деякі параметри, як-от '#', 'PWD' та '$'; це єдиний спосіб спеціальний одиночний символ
параметри встановлюються. По-друге, параметри імпортуються з середовища оболонки за адресою
стартап. По-третє, параметрам можна призначати значення в командному рядку: наприклад, FOO=бар
встановлює для параметра «FOO» значення «bar»; для одного параметра можна присвоїти декілька параметрів
командний рядок, і за ними може слідувати проста команда, у цьому випадку призначення є
діє лише на час дії команди (такі призначення також експортуються; див
нижче про наслідки цього). Зауважте, що ім’я параметра та '=' мають бути
без лапок, щоб оболонка розпізнала призначення параметрів. Конструкція FOO+=баз Також
визнаний; старе і нове значення відразу з’єднуються. Четвертий спосіб налаштування
параметр з експорт, в цілому, лише для читання та набірний команди; побачити їх
описи в Command виконання розділ. по-п'яте, та цінності та вибрати цикли задають параметри
а також getopts, зчитування та комплект -A команди. Нарешті, можна призначити параметри
значення за допомогою операторів присвоєння всередині арифметичних виразів (див Арифметика вирази
нижче) або за допомогою ${ім'я=значення} форма підстановки параметра (див. нижче).

Параметри з атрибутом експорту (встановлюються за допомогою експорт or набірний -x команд, або за
призначення параметрів з наступними простими командами) поміщаються в середовище (див
про(7)) команд, запущених оболонкою як ім'я=значення пари. Порядок, у якому параметри
відображатися в середовищі команди не вказано. Коли оболонка запускається, це
витягує параметри та їх значення зі свого середовища та автоматично встановлює експорт
атрибут для цих параметрів.

До ${ можна застосувати модифікаториім'я} форма заміни параметра:

${ім'я:-слово}
If ім'я встановлюється, а не NULL, він замінюється; інакше, слово замінюється.

${ім'я:+слово}
If ім'я встановлено, а не NULL, слово замінюється; інакше нічого не замінюється.

${ім'я:=слово}
If ім'я встановлюється, а не NULL, він замінюється; інакше призначається слово та
отримане значення ім'я замінюється.

${ім'я:?слово}
If ім'я встановлюється, а не NULL, він замінюється; інакше, слово друкується на
стандартна помилка (перед ім'я:) і виникає помилка (зазвичай спричиняє припинення
сценарію оболонки, функції або сценарію, отриманого за допомогою '.' вбудований). Якщо слово is
опущений, замість нього використовується рядок «параметр нульовий або не встановлений». Наразі помилка,
if слово є змінною, яка розгортається до нульового рядка, також повідомлення про помилку
надруковані.

Зауважте, що для всього перерахованого вище, слово насправді вважається цитованим, а спеціальний розбір
застосовуються правила. Правила синтаксичного аналізу також відрізняються від того, чи є вираз у подвійних лапках: слово
потім використовує правила подвійних лапок, за винятком самих подвійних лапок ('"') і закриття
фігурна дужка, яка, якщо зворотна коса риска вимкнена, застосовує видалення лапок.

У наведених вище модифікаторах ":" можна опустити, і в цьому випадку умови залежать лише від
ім'я встановлюється (на відміну від set, а не NULL). Якщо слово необхідний параметр, команда,
на ньому виконується арифметика і підстановка тильди; якщо слово не потрібен, це не так
оцінюється.

Також можна використовувати такі форми підстановки параметрів (якщо ім'я є масивом
елемент з ключем «0» буде замінено в скалярному контексті):

${#ім'я}
Кількість позиційних параметрів якщо ім'я є '*', '@' або не вказано; інакше
довжина (у символах) рядкового значення параметра ім'я.

${#ім'я[*]}
${#ім'я[@]}
Кількість елементів у масиві ім'я.

${%ім'я}
Ширина (у стовпцях екрана) рядкового значення параметра ім'я, або -1, якщо
${ім'я} містить керуючий символ.

${!ім'я}
Ім'я змінної, на яку посилається ім'я. Це буде ім'я крім коли ім'я is
посилання на ім'я (зв'язана змінна), створене за допомогою nameref команда (яка є псевдонімом
та цінності набірний -n).

${!ім'я[*]}
${!ім'я[@]}
Назви індексів (ключів) у масиві ім'я.

${ім'я#модель}
${ім'я##модель}
If модель відповідає початку значення параметра ім'я, відповідний текст є
видалено з результату заміни. Один "#" означає найкоротший
матч, і два з них призводять до найдовшого матчу. Не можна застосувати до вектора
(${*} або ${@} або ${array[*]} або ${array[@]}).

${ім'я%модель}
${ім'я%%модель}
Як і ${..#..} заміна, але вона видаляє з кінця значення. Не може бути
застосовується до вектора.

${ім'я/візерунок / рядок}
${ім'я/#візерунок / рядок}
${ім'я/%візерунок / рядок}
${ім'я//візерунок / рядок}
Найдовший матч модель у значенні параметра ім'я замінюється на рядок
(видалено, якщо рядок пусто; в цьому випадку кінцеву косу риску ('/') можна опустити).
Похила риска, за якою слід "#" або "%", призводить до прив'язки шаблону до
початок або кінець значення відповідно; порожній без якоря модельПричина немає
заміна; одна провідна коса риска або використання a модель що відповідає пустому
рядок викликає заміну лише один раз; два провідних косих риски викликають все
входження збігів у значення, яке потрібно замінити. Не можна застосувати до вектора.
Неефективно реалізовано, може бути повільним.

${ім'я:пост:довжина}
Перший довжина персонажів ім'я, починаючи з положення пост, замінюються. Обидва
пост і:довжина є необов'язковими. Якщо пост є негативним, підрахунок починається в кінці
рядок; якщо його пропущено, за замовчуванням має значення 0. Якщо довжина опущено або більше за
довжини рядка, що залишився, вся вона замінюється. Обидва пост та довжина він має
оцінюються як арифметичні вирази. наразі пост має починатися з пробілу,
розкриваюча дужка або цифра для розпізнавання. Не можна застосувати до вектора.

${ім'я@#}
Хеш (з використанням алгоритму BAFH) розширення ім'я. Це також використовується
внутрішньо для хеш-таблиць оболонки.

${ім'я@Q}
Вираз у лапках, безпечний для повторного входу, значенням якого є значення ім'я
параметр, замінюється.

Зверніть увагу, що модель може знадобитися розширений шаблон глобінгу (@(...)), одиночний ('...') або подвійний
("...") цитати втекають, якщо -o sh встановлено.

Наступні спеціальні параметри неявно встановлюються оболонкою і не можуть бути встановлені безпосередньо
використовуючи завдання:

! Ідентифікатор процесу останнього запущеного фонового процесу. Якщо немає фонових процесів
запущено, параметр не встановлено.

# Кількість позиційних параметрів ($1, $2 тощо).

$ PID оболонки або PID вихідної оболонки, якщо вона є підоболонкою. Зробіть НЕ
використовувати цей механізм для генерування тимчасових імен файлів; подивитися mktemp(1) замість цього.

- Конкатенація поточних варіантів однієї літери (див комплект команду нижче
для списку варіантів).

? Статус виходу останньої виконаної неасинхронної команди. Якщо остання команда
був убитий сигналом, $? встановлено на 128 плюс номер сигналу, але не більше 255.

0 Ім'я оболонки, що визначається наступним чином: перший аргумент до mksh якщо це було
викликається з -c наведено варіант і аргументи; інакше файл аргумент, якщо
він був поставлений; або ж базове ім'я, з яким було викликано оболонку (тобто argv[0]). $0
також встановлюється ім’я поточного сценарію або ім’я поточної функції,
якщо це було визначено з функція ключове слово (тобто функція в стилі оболонки Korn).

1 .. 9 Перші дев'ять позиційних параметрів, які були надані в оболонку, функцію або
скрипт, отриманий за допомогою '.' вбудований. Можуть бути й інші позиційні параметри
доступ за допомогою ${номер}.

* Усі параметри позиції (крім 0), тобто $1, $2, $3, ...
Якщо використовуються поза подвійними лапками, параметри є окремими словами (які підлягають
на розщеплення слів); якщо використовуються в подвійних лапках, параметри розділяються символом
перший символ параметра IFS (або порожній рядок, якщо IFS має значення NULL).

@ Такий же, як $*, якщо він не використовується в подвійних лапках, у цьому випадку окреме слово
генерується для кожного параметра позиції. Якщо немає позиційних параметрів, ні
генерується слово. $@ можна використовувати для доступу до аргументів, дослівно, без програшу
Аргументи NULL або розділення аргументів за допомогою пробілів.

Наступні параметри встановлюються та/або використовуються оболонкою:

_ (підкреслення) Коли оболонка виконує зовнішню команду, цей параметр
встановлюється в середовищі нового процесу на шлях виконуваного
команда. При інтерактивному використанні цей параметр також встановлюється в батьківській оболонці на
останнє слово попередньої команди.

BASHPID PID оболонки або підоболонки.

CDPATH Як і PATH, але використовується для вирішення аргументу cd вбудована команда. Примітка
що якщо CDPATH встановлено і не містить ".' або порожній рядковий елемент, the
поточний каталог не шукається. Крім того, cd відобразиться вбудована команда
результуючий каталог, коли збіг знайдено в будь-якому шляху пошуку, крім
порожній шлях.

COLUMNS Установіть кількість стовпців у терміналі або вікні. Завжди встановлено, значення за замовчуванням
до 80, за винятком випадків, коли значення, зазначене в stty(1) є відмінним від нуля і достатньо розумним
(мінімум 12х3); аналогічно для LINES. Цей параметр використовується
інтерактивні режими редагування рядків, а також за допомогою вибрати, комплект -o та вбивати -l Команди
для форматування інформаційних стовпців. Імпорт із середовища або вимкнення
цей параметр усуває прив’язку до фактичного розміру термінала на користь
надане значення.

ENV Якщо виявиться, що цей параметр встановлений після виконання будь-яких файлів профілю,
розширене значення використовується як файл запуску оболонки. Зазвичай він містить функцію
і визначення псевдонімів.

ERRNO Ціле значення оболонки неправильно змінний. Останнім вказується причина
системний виклик не вдалося. Ще не реалізовано.

EXECSHELL Якщо встановлено, вважається, що цей параметр містить оболонку, до якої потрібно використовувати
виконувати команди, які execve(2) не виконується і які не починаються з a
«#!оболонка” послідовність.

FCEDIT Редактор, яким користується fc команду (див. нижче).

FPATH Як і PATH, але використовується, коли виконується невизначена функція для пошуку файлу
визначення функції. Він також шукається, коли команду не можна знайти за допомогою
ШЛЯХ. Подивитися Функції нижче для отримання додаткової інформації.

HISTFILE Ім'я файлу, який використовується для зберігання історії команд. Коли призначено або не встановлено,
файл відкривається, історія обрізається, а потім завантажується з файлу; наступні
нові команди (можливо, що складаються з кількох рядків) додаються після їх виконання
успішно складено. Також буде спільне кілька викликів оболонки
історії, якщо всі їхні параметри HISTFILE вказують на той самий файл.

примітки: Якщо HISTFILE не встановлено або порожній, файл історії не використовується. Це
відрізняється від AT&T UNIX ksh.

HISTSIZE Кількість команд, які зазвичай зберігаються для історії. За замовчуванням — 2047. Робіть
не встановлювати для цього значення шалено високі значення, наприклад 1000000000, тому що mksh може
тоді не виділяється достатньо пам’яті для історії і не запускається.

HOME Каталог за замовчуванням для cd команду та значення, замінене на an
некваліфікований ~ (Див. тильда розширення нижче).

IFS Внутрішній роздільник полів, що використовується під час заміни та зчитування командувати, до
розділити значення на окремі аргументи; зазвичай встановлюється пробіл, табуляція та новий рядок.
Читати Заміна вище для деталей.

примітки: Цей параметр не імпортується із середовища, коли оболонка є
розпочато.

KSHEGID Ефективний ідентифікатор групи оболонки.

KSHGID Справжній ідентифікатор групи оболонки.

KSHUID Справжній ідентифікатор користувача оболонки.

KSH_VERSION Ім'я та версія оболонки (тільки для читання). Дивіться також команди версій
in Emacs редагування режим та Vi редагування режим розділи, нижче.

LINENO Номер рядка функції або сценарію оболонки, який зараз виконується
страчено.

LINES Установіть кількість рядків на терміналі або вікні. Завжди встановлено, за замовчуванням
24. Див. КОЛОНИ.

ЕПОХРЕАЛЬНИЙ ЧАС
Час з епохи, як повернуто gettimeofday(2), у форматі десяткового
tv_sec потім крапка ('.') і tv_usec доповнений рівно до шести десяткових
цифр.

OLDPWD Попередній робочий каталог. Скасувати, якщо cd не змінено
каталогів з моменту запуску оболонки, або якщо оболонка не знає, де вона знаходиться.

OPTARG При використанні getopts, він містить аргумент для проаналізованого параметра, якщо він
вимагає одного.

OPTIND Індекс наступного аргументу, який буде оброблено під час використання getopts. Призначення 1
цей параметр викликає getopts обробляти аргументи з самого початку
наступного разу, коли його викликають.

PATH Двокрапка (крапка з комою в OS/2), розділений списком каталогів, у яких здійснюється пошук
під час пошуку команд і файлів, отриманих за допомогою '.' команду (див. нижче).
Порожній рядок, що є результатом передньої або кінцевої двокрапки, або двох сусідніх
двокрапки, розглядається як '.' (поточний каталог).

PGRP Ідентифікатор процесу керівника групи процесів оболонки.

PIPESTATUS Масив, що містить коди рівня помилки (статус виходу), один за одним, з останніх
на передньому плані проходить трубопровід.

PPID Ідентифікатор процесу батьківської оболонки.

PS1 Основна підказка для інтерактивних оболонок. Параметр, команда та арифметика
виконуються заміни, а '!' замінюється поточною командою
номер (див fc команда нижче). Буквальне '!' можна ввести в підказку
розміщення '!!' в PS1.

Підказкою за замовчуванням є '$ ' для користувачів без права root, '# ' для root. Якщо mksh is
викликається користувачем root, а PS1 не містить символу '#', значення за замовчуванням
буде використовуватися, навіть якщо PS1 вже існує в середовищі.

Команда mksh розподіл поставляється разом із зразком dot.mkshrc що містить витончений
приклад, але вам може сподобатися наступний (зверніть увагу, що
${HOSTNAME:=$(hostname)} та розрізнене речення root-vs-user (у
цей приклад) виконується під час призначення PS1, тоді як $USER та $PWD є
екранований і, таким чином, буде оцінюватися щоразу, коли відображатиметься підказка):

PS1='${USER:=$(id -un)}'"@${HOSTNAME:=$(hostname)}:\$PWD $(
якщо (( USER_ID )); потім надрукувати \$; else print \#; fi) "

Зауважте, що оскільки редактори командного рядка намагаються з’ясувати, скільки часу триває підказка
є (щоб вони знали, наскільки це далеко до краю екрана), escape-коди в
підказка, як правило, все зіпсує. Ви можете сказати, щоб оболонка не зараховувала певні
послідовності (наприклад, escape-коди), додаючи до підказки символ
(наприклад, Ctrl-A) з подальшим поверненням каретки, а потім розмежуванням escape
коди з цим символом. Будь-який символ у підказці є
не надруковано. До речі, не звинувачуйте мене за цей хак; воно походить від
оригінал ksh88(1), який надрукував символ-роздільник, щоб вас не було
пощастило, якщо у вас не було жодних недрукованих символів.

Оскільки зворотні похилі та інші спеціальні символи можуть інтерпретуватися оболонкою,
щоб налаштувати PS1, або екрануйте саму зворотну косу риску, або використовуйте подвійні лапки. The
останнє більш практичне. Це більш складний приклад, уникаючи прямого
введіть спеціальні символи (наприклад, with ^V у режимі редагування emacs), який
вбудовує поточний робочий каталог у зворотне відео (колір буде працювати,
також), у рядку підказки:

x=$(друк \\001)
PS1="$x$(друк \\r)$x$(tput so)$x\$PWD$x$(tput se)$x> "

Завдяки наполегливій пропозиції Девіда Г. Корна, mksh тепер також підтримує
наступна форма:

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

Вторинний рядок підказки PS2, за замовчуванням '> ', використовується, коли потрібно більше ввести
виконати команду.

Підказка PS3, яку використовує вибрати під час читання вибору меню. За замовчуванням
це "#? '.

PS4 Використовується для префікса команд, які друкуються під час відстеження виконання (див комплект
-x команда нижче). Параметр, команда та арифметичні заміни
виконується до друку. За замовчуванням встановлено '+'. Ви можете встановити його
на "[$EPOCHREALTIME] ", щоб включити позначки часу.

PWD Поточний робочий каталог. Може бути не встановленим або NULL, якщо оболонка не знає
де.

RANDOM Кожного разу, коли посилається на RANDOM, йому призначається номер від 0 до 32767
спочатку з лінійної конгруентної PRNG.

ВІДПОВІДЬ Параметр за замовчуванням для зчитування команду, якщо назви не вказано. Також використовується в
вибрати цикли для збереження значення, зчитованого зі стандартного введення.

SECONDS Кількість секунд після запуску оболонки або, якщо параметр був
присвоєно ціле значення, кількість секунд з моменту призначення плюс
значення, яке було призначено.

TMOUT Якщо встановлено додатне ціле число в інтерактивній оболонці, він визначає максимум
кількість секунд, протягом яких оболонка чекатиме введення після друку основного
підказка (PS1). Якщо час перевищено, оболонка виходить.

TMPDIR У каталозі створюються тимчасові файли оболонки. Якщо цього параметра немає
встановлений або не містить абсолютного шляху до каталогу, доступного для запису, тимчасовий
файли створюються в / Tmp.

USER_ID Ефективний ідентифікатор користувача оболонки.

тильда розширення
Розгортання тильди, яке виконується паралельно із заміною параметрів, виконується на словах
починається з "~" без лапок. Символи, що йдуть за тильдою, аж до першого '/', якщо
any, вважається ім’ям для входу. Якщо ім’я для входу порожнє, «+» або «-», значення
параметр HOME, PWD або OLDPWD замінюється відповідно. Інакше пароль
у файлі виконується пошук імені входу, а вираз тильди замінюється на ім’я користувача
домашній каталог. Якщо ім'я для входу не знайдено у файлі паролів або якщо в цитатах або
Підміна параметра відбувається в імені входу, заміна не виконується.

У призначеннях параметрів (наприклад, ті, що передують простій команді або ті, що відбуваються в
аргументи псевдонім, експорт, в цілому, лише для читання та набірний), розгортання тильди виконується після
будь-яке присвоєння (тобто після знака рівності) або після двокрапки без лапок (':'); імена для входу
також розмежовуються двокрапками.

Домашній каталог з раніше розширеними іменами входу кешуються та повторно використовуються. The псевдонім -d
Команда може використовуватися для відображення, зміни та додавання до цього кешу (наприклад псевдонім -d
fac=/usr/local/facilities; cd ~fac/bin).

Браслет розширення (чергування)
Вирази в фігурних дужках мають такий вигляд:

префікс{str1, ...,strN}Суфікс

Вирази розгортаються до N слова, кожне з яких є конкатенацією префікс, вулi,
та Суфікс (наприклад, «a{c,b{X,Y},d}e» розширюється до чотирьох слів: «ace», «abXe», «abYe» та «ade»).
Як зазначено в прикладі, вирази в дужках можуть бути вкладеними, а отримані слова — ні
відсортований. Вирази в дужках повинні містити кому без лапок (','), щоб відбулося розширення (наприклад
{} та {foo} не розширені). Розширення дужки здійснюється після підстановки параметрів
і до створення імені файлу.

філе ім'я моделі
Шаблон назви файлу – це слово, яке містить одне або кілька символів «?», «*», «+», «@» або «!»
символів або послідовностей «[..]». Після того, як розтягування було виконано, оболонка замінюється
шаблони назв файлів із відсортованими іменами всіх файлів, які відповідають шаблону (якщо ні
файли збігаються, слово залишається без змін). Елементи візерунка мають таке значення:

? Відповідає будь-якому окремому символу.

* Відповідає будь-якій послідовності октетів.

[..] Збігається з будь-яким із октетів у дужках. Діапазони октетів можуть бути визначені за допомогою
розділяючи два октети знаком «-» (наприклад, «[a0-9]» відповідає літері «а» або будь-якій цифрі).
Для того, щоб представляти себе, символ «-» має бути в лапках або перший чи останній октет
у списку октетів. Аналогічно, «]» має бути в лапках або перший октет у списку
якщо він має представляти себе замість кінця списку. Крім того, '!' з'являється
на початку списку має особливе значення (див. нижче), щоб представляти себе
необхідно процитувати або з’явитися пізніше в списку.

[!..] Як і [..], за винятком того, що він відповідає будь-якому октету, який не міститься в дужках.

*(модель|...|модель)
Збігається з будь-яким рядком октетів, який відповідає нулю або більше входжень зазначеного
візерунки. Приклад: візерунок *(фу|бар) відповідає рядкам «», «foo», «bar»,
«foobarfoo» тощо.

+(модель|...|модель)
Збігається з будь-яким рядком октетів, який відповідає одному або кільком входженням зазначеного
візерунки. Приклад: візерунок +(фу|бар) відповідає рядкам “foo”, “bar”,
«foobar» тощо.

?(модель|...|модель)
Збігається з порожнім рядком або рядком, який відповідає одному із зазначених шаблонів.
Приклад: візерунок ? (фу|бар) відповідає лише рядкам «», «foo» і «bar».

@(модель|...|модель)
Відповідає рядку, який відповідає одному із зазначених шаблонів. Приклад: візерунок
@(фу|бар) відповідає лише рядкам «foo» і «bar».

!(модель|...|модель)
Збігається з будь-яким рядком, який не відповідає одному із зазначених шаблонів. Приклади: The
модель !(фу|бар) відповідає всім рядкам, крім «foo» та «bar»; візерунок !(*)
не відповідає рядкам; візерунок !(?)* відповідає всім рядкам (подумайте про це).

Зауважте, що складний глобінг, особливо з альтернативами, відбувається повільно; використовуючи окремі
порівняння можуть (а можуть і ні) бути швидшими.

Зверніть увагу, що mkshпдкш) ніколи не відповідає '.' і '..', але AT&T UNIX ksh, Борн sh, і GNU
бити робити.

Зауважте, що жоден з наведених вище елементів шаблону не відповідає ні крапці ('.') на початку a
ім'я файлу або косу риску ('/'), навіть якщо вони явно використовуються в послідовності [..]; також,
імена '.' і «..» ніколи не збігаються, навіть за шаблоном «.*».

Якщо markdirs встановлено, будь-які каталоги, які є результатом генерації імен файлів, є
позначені символом "/".

Вхід / вихід перенаправлення
Коли команда виконується, її стандартний введення, стандартний висновок і стандартна помилка (файл
дескриптори 0, 1 і 2 відповідно) зазвичай успадковуються від оболонки. Три
винятком з цього є команди в конвеєрах, для яких стандартний введення та/або стандарт
вихід — це ті, які налаштовані конвеєром, асинхронні команди, створені під час керування завданнями
вимкнено, для якого спочатку встановлено стандартний вхід / dev / null, і команди для
для якого вказано будь-яке з наступних перенаправлень:

>файл Стандартний вихід перенаправляється на файл. Якщо файл не існує, воно створюється;
якщо він існує, це звичайний файл, а файл noclobber встановлений параметр, помилка
відбувається; інакше файл обрізається. Зауважте, що це означає команду CMD
<foo >фу відкриється Foo для читання, а потім усікайте його, коли він відкриває його для
написання, раніше CMD отримує можливість насправді читати Foo.

>|файл Такий же, як >, за винятком того, що файл обрізається, навіть якщо noclobber опція встановлена.

>>файл Такий же, як >, крім якщо файл існує, до якого він додається, а не обрізається.
Крім того, файл відкривається в режимі додавання, тому запис завжди йде в кінець
файл (див відкрити(2)).

<файл Стандартний вхід перенаправляється з файл, яка відкрита для читання.

<>файл Такий же, як <, за винятком того, що файл відкривається для читання та запису.

<<маркер Після прочитання командного рядка, що містить таке переспрямування (зване a
«тут документ»), оболонка копіює рядки з джерела команди в a
тимчасовий файл до збігу рядка маркер читається. Коли команда
виконується, стандартний вхід перенаправляється з тимчасового файлу. Якщо маркер
не містить символів у лапках, вміст тимчасового файлу обробляється
ніби береться в подвійні лапки кожного разу, коли виконується команда, тому параметр,
команда, і виконуються арифметичні заміни разом із зворотною косою рискою ('\')
екранує для '$', '`', '\' і '\newline', але не для '"'. Якщо тут декілька
документи використовуються в одному командному рядку, вони зберігаються в порядку.

Якщо ні маркер дається, тут документ закінчується наступним << і заміна
буде виконано. Якщо маркер це лише набір одинарних "''" або подвійних """
лапки без нічого між ними, тут документ закінчується наступним порожнім рядком
і заміна не буде виконана.

<<-маркер Такий же, як <<, за винятком того, що провідні вкладки вилучаються з рядків у документі тут.

<<слово Такий же, як <<, крім цього слово is тут документ. Це тут називається
рядок.

<&fd Стандартний вхід дублюється з дескриптора файлу fd. fd може бути числом,
вказівка ​​номера існуючого дескриптора файлу; буква «п», що вказує
дескриптор файлу, пов'язаний з виводом поточного спільного процесу; або
символ '-', що вказує, що стандартний вхід потрібно закрити. Зауважте, що fd is
обмежений однією цифрою в більшості реалізацій оболонки.

>&fd Такий же, як <&, за винятком того, що операція виконується на стандартному виводі.

&>файл Такий же, як >файл 2> & 1. Це застарілий (застарілий) GNU бити розширення підтримується
by mksh який також підтримує попередній явний номер fd, наприклад,
3&>файл те саме, що 3>файл 2> & 3 in mksh але синтаксична помилка в GNU бити.

&>|файл, &>>файл, &>&fd
Такий же, як >|файл, >>файлабо >&fd, А потім 2> & 1, як зазначено вище. Це такі mksh
розширення.

У будь-якому з наведених вище перенаправлень дескриптор файлу, який переспрямовується (тобто стандартний
введення або стандартний висновок) може бути вказано явно, передуючи перенаправленню числом
(переносно, лише однозначне). Параметр, команда та арифметичні заміни, тильда
підстановки та (якщо оболонка інтерактивна) генерування імен файлів виконуються
файл, маркер та fd аргументи перенаправлень. Зауважимо, однак, що результати будь-яких
генерація імені файлу використовується лише у випадку, якщо збігається один файл; якщо збігається декілька файлів,
використовується слово з символами генерації розгорнутого імені файлу. Зауважте, що в обмеженому
оболонки, перенаправлення, які можуть створювати файли, не можна використовувати.

Для простих команд переспрямування можуть з’являтися в будь-якому місці команди; для складених команд
(if інструкції тощо), будь-які перенаправлення мають з’являтися в кінці. Перенаправлення обробляються
після створення конвеєрів і в тому порядку, в якому вони вказані, тож буде надруковано файл
помилка з номером рядка перед ним:

$ cat /foo/bar 2>&1 >/dev/null | пр -н -т

Дескриптори файлів, створені за допомогою перенаправлень вводу-виводу, є приватними для оболонки.

Арифметика вирази
Цілі арифметичні вирази можна використовувати з дозволяти команда, всередині виразів $((..)),
внутрішні посилання на масив (наприклад ім'я[експр]), як числові аргументи для тест команда, і як
значення присвоєння цілого параметра. попередження: Це також впливає на неявний
перетворення в ціле число, наприклад, як це робиться дозволяти команда Ніколи використовувати неперевіреного користувача
введення, наприклад, із середовища, в арифметиці!

Вирази обчислюються за допомогою знакової арифметики та mksh_ari_t тип (32-розрядний зі знаком
ціле число), якщо вони не починаються з єдиного символу '#', і в цьому випадку вони використовують mksh_uari_t (a
32-розрядне ціле число без знака).

Вирази можуть містити буквено-цифрові ідентифікатори параметрів, посилання на масиви та цілі числа
константи і можуть поєднуватися з наступними операторами C (перераховані та згруповані в
збільшення порядку пріоритету):

Унарні оператори:

+ - ! ~ ++ --

Двійкові оператори:

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

Тернарні оператори:

?: (пріоритет відразу вище, ніж присвоєння)

Оператори групування:

()

Цілі константи та вирази обчислюються за допомогою точного 32-бітового знака або
без знака, тип з тихим обертанням при переповненні цілого числа. Цілі константи можуть бути
задається з довільними основами за допомогою позначення база#номер, Де база є десятковим
ціле число, що вказує основу, і номер є числом у вказаній основі. Крім того,
Цілі числа base-16 можна вказати, додавши до них префікс '0x' (не чутливий до регістру) у всіх
форми арифметичних виразів, за винятком числових аргументів тест вбудована команда.
Додавання префікса до чисел з єдиною цифрою нуля ('0') не спричиняє інтерпретацію як вісімкове число, оскільки
це небезпечно робити.

Як особливий mksh розширення, числа з основою одиниці розглядаються як (8-біт
прозорі) кодові точки ASCII або Unicode, залежно від оболонки utf8-режим прапор (поточний
налаштування). AT&T UNIX ksh93 також підтримується синтаксис «'x'» замість «1#x». Примітка
що байти NUL (інтегральне значення нуля) не можна використовувати. Невстановлений або порожній параметр
оцінює 0 в цілочисельному контексті. У режимі Unicode необроблені октети відображаються в діапазоні
EF80..EFFF як в OPTU-8, який є в PUA і призначений CSUR для цього використання. Якщо
більше ніж один октет у режимі ASCII або послідовність з більш ніж одного октету, що не утворює дійсну
і передано мінімальну послідовність CESU-8, поведінка не визначена (зазвичай, оболонка перериває
з помилкою аналізу, але рідко це вдається, наприклад, у послідовності C2 20). Ось чому ти
завжди слід використовувати режим ASCII, якщо ви не знаєте, що введення є правильно сформованим UTF-8 в
діапазон 0000..FFFD, якщо ви використовуєте цю функцію, а не зчитування -a.

Оператори оцінюються наступним чином:

одинарний +
Результатом є аргумент (включений для повноти).

одинарний -
Заперечення.

! Логічно НІ; результат дорівнює 1, якщо аргумент дорівнює нулю, 0, якщо ні.

~ Арифметика (порозрядна) НІ.

++ Приріст; має застосовуватися до параметра (а не до літералу чи іншого виразу).
Параметр збільшується на 1. Якщо використовується як оператор префікса, результат
– збільшене значення параметра; якщо використовується як постфіксний оператор,
результатом є вихідне значення параметра.

-- Схожий на ++, за винятком того, що параметр зменшується на 1.

, Розділяє два арифметичні вирази; спочатку оцінюється ліва частина,
потім правий. Результатом є значення виразу праворуч
сторони.

= Призначення; змінна зліва встановлюється на значення праворуч.

+= -= *= /= %= <<<= >>>= <<= >>= &= ^= |=
Оператори присвоєння.було><op>=експр> це те саме, щобуло>=було><op><експр>,
з будь-яким пріоритетом оператора векспр> збережено. Наприклад, «var1 *= 5 +
3” – це те саме, що вказувати “var1 = var1 * (5 + 3)”.

|| Логічне АБО; результат дорівнює 1, якщо будь-який з аргументів відмінний від нуля, 0, якщо ні. The
правий аргумент оцінюється, тільки якщо лівий аргумент дорівнює нулю.

&& Логічне І; результат дорівнює 1, якщо обидва аргументи відмінні від нуля, 0, якщо ні. The
правий аргумент оцінюється, тільки якщо лівий аргумент відмінний від нуля.

| Арифметична (порозрядна) АБО.

^ Арифметичний (порозрядний) XOR (виключне АБО).

& Арифметика (порозрядна) І.

== Рівно; результат дорівнює 1, якщо обидва аргументи рівні, 0, якщо ні.

!= Не дорівнює; результат дорівнює 0, якщо обидва аргументи рівні, 1, якщо ні.

< Менше ніж; результат дорівнює 1, якщо лівий аргумент менший за правий, 0, якщо
ні.

<= > >=
Менше або дорівнює, більше, більше або дорівнює. Подивитися <.

<<< >>>
Поворот вліво (вправо); результат подібний до зсуву (див <<) за винятком того, що
біти, зміщені на одному кінці, зміщуються на іншому кінці замість нуля
або знакові біти.

<< >> Зсув ліворуч (праворуч); результатом є лівий аргумент зі зміщеними бітами вліво
(право) на суму, наведену в правильному аргументі.

+ - * /
Додавання, віднімання, множення та ділення.

% Залишок; результатом є симетричний залишок від поділу лівого
аргумент по праву. Щоб отримати математичний модуль «a модуль б», використовуйте
формула «(a % b + b) % b».

<arg1>?arg2>:arg3>
Якщоarg1> відмінний від нуля, результат такийarg2>; інакше результат будеarg3>.
Аргумент нерезультату не оцінюється.

Спільні процеси
Спільний процес (який є конвеєром, створеним за допомогою оператора '|&') є асинхронним процесом
до якої оболонка може одночасно записувати (використовуючи друк -p) і прочитати з (використовуючи зчитування -p). Вхідні дані
і результатом спільного процесу також можна маніпулювати за допомогою >&p та <&p перенаправлення,
відповідно. Після запуску спільного процесу інший не може бути запущений, доки не
процес виходить, або поки вхід спільного процесу не буде перенаправлено за допомогою an Exec n>&p
перенаправлення. Якщо вхід спільного процесу перенаправлено таким чином, наступний спільний процес буде
запущений поділить вихідні дані з першим спільним процесом, якщо не вихідні дані початкового
спільний процес було перенаправлено за допомогою файлу Exec n<&p перенаправлення.

Деякі зауваження щодо спільних процесів:

· Єдиний спосіб закрити вхід спільного процесу (тоб він читає кінець файлу)
щоб переспрямувати вхід до нумерованого дескриптора файлу, а потім закрити цей дескриптор файлу:
Exec 3>&p; Exec 3> &-

· Щоб спільні процеси мали спільний вихід, оболонка повинна зберігати запис
частина вихідної труби відкрита. Це означає, що кінець файлу не буде виявлено доти
усі спільні процеси, які поділяють вихідні дані спільного процесу, вийшли (коли вони всі виходять,
оболонка закриває свою копію труби). Цього можна уникнути, перенаправивши вихід на a
нумерований дескриптор файлу (оскільки це також змушує оболонку закривати свою копію). Зауважте, що
ця поведінка дещо відрізняється від оригінальної оболонки Korn, яка закриває свою копію
частини запису виводу спільного процесу, коли останній розпочатий спільний процес
(замість того, коли всі спільні процеси спільного використання) завершується.

· друк -p ігноруватиме сигнали SIGPIPE під час запису, якщо сигнал не захоплюється або
ігнорується; те саме вірно, якщо вхідні дані спільного процесу дублюються в інший файл
дескриптор і друк -un використовується.

Функції
Функції визначаються або за допомогою оболонки Korn функція ім'я функції синтаксис або
Оболонка Борна/POSIX ім'я функції() синтаксис (різницю між ними дивіться нижче
форми). Функції схожі на .‐скрипти (тобто сценарії, отримані з використанням вбудованого '.').
вони виконуються в поточному середовищі. Однак, на відміну від .‐скриптів, аргументи оболонки
(тобто позиційні параметри $1, $2 тощо) всередині них ніколи не видно. Коли оболонка є
визначаючи розташування команди, функції шукають за спеціальними вбудованими
команди перед пошуком вбудованих програм і PATH.

Існуючу функцію можна видалити за допомогою скасовано -f ім'я функції. Список функцій може
можна отримати за допомогою набірний +f і визначення функцій можна перерахувати за допомогою набірний -f.
Команда автозавантаження команда (яка є псевдонімом для набірний -фу) можна використовувати для створення undefined
функції: коли виконується невизначена функція, оболонка шукає шлях, зазначений в
параметр FPATH для файлу з такою ж назвою, що й функція, яка, якщо знайдена, читається
і виконано. Якщо після виконання файлу буде виявлено, що названа функція визначена, то
функція виконується; в іншому випадку звичайний пошук команд продовжується (тобто оболонка
шукає звичайну вбудовану таблицю команд і PATH). Зауважте, що якщо команда не знайдена
за допомогою PATH робиться спроба автоматично завантажити функцію за допомогою FPATH (це недокументований
особливість оригінальної оболонки Korn).

Функції можуть мати два атрибути, «трасування» та «експорт», за допомогою яких можна встановити набірний - футів
та набірний -fx, відповідно. Коли виконується трасована функція, оболонка xtrace
опція увімкнена на час дії функції. Атрибут «експорт» функцій
на даний момент не використовується. У оригінальній оболонці Korn експортовані функції видимі для оболонки
скрипти, які виконуються.

Оскільки функції виконуються в поточному середовищі оболонки, параметри призначаються
внутрішні функції відображаються після завершення функції. Якщо це не бажане
ефект, набірний Команду можна використовувати всередині функції для створення локального параметра. Примітка
що AT&T UNIX ksh93 використовує статичну область видимості (одна глобальна область, одна локальна область для кожної функції)
і дозволяє використовувати локальні змінні лише у функціях стилю Korn, тоді як mksh використовує динамічне визначення масштабу
(вкладені області різної місцевості). Зверніть увагу, що спеціальні параметри (напр $$, $!) не може бути
охоплено таким чином.

Статус завершення функції — це статус останньої команди, виконаної у функції. А
можна зробити так, щоб функція завершилася негайно, використовуючи повертати команда; це також можна використовувати
щоб явно вказати статус виходу.

Функції, визначені за допомогою функція наведені нижче зарезервовані слова трактуються по-різному
шляхи від функцій, визначених за допомогою () позначення:

· Параметр $0 встановлюється на назву функції (функції в стилі Борна залишають $0
недоторканий).

· Призначення параметрів, що передують викликам функцій, не зберігаються в середовищі оболонки
(виконання функцій у стилі Борна збереже призначення).

· OPTIND зберігається/скидається і відновлюється при вході та виході з функції так getopts може бути
правильно використовується як всередині, так і за межами функції (функції в стилі Борна залишають OPTIND
недоторканий, тому користувався getopts всередині функції заважає використанню getopts за межами
функція).

· Параметри оболонки (комплект -o) мають локальну область видимості, тобто зміни всередині функції скидаються
його вихід.

У майбутньому також можуть бути додані такі відмінності:

· Під час виконання функцій буде використовуватися окреме середовище пастки/сигналу. Це
означатиме, що пастки, встановлені всередині функції, не впливатимуть на пастки та сигнали оболонки
які не ігноруються в оболонці (але можуть бути захоплені), матимуть ефект за замовчуванням
функція.

· Пастка EXIT, якщо вона встановлена ​​у функції, буде виконана після повернення функції.

Command виконання
Після оцінки аргументів командного рядка, перенаправлень і призначення параметрів,
Визначається тип команди: спеціальна вбудована команда, функція, звичайна вбудована або
ім'я файлу для виконання, знайдене за допомогою параметра PATH. Перевірки проводяться в
вище порядку. Спеціальні вбудовані команди відрізняються від інших команд тим, що PATH
параметр не використовується для їх пошуку, помилка під час їх виконання може призвести до не
інтерактивна оболонка для виходу та призначення параметрів, які вказані перед командою
зберігаються після завершення команди. Звичайні вбудовані команди відрізняються лише цим
параметр PATH не використовується для їх пошуку.

Оригінальний ksh і POSIX дещо відрізняються тим, що команди вважаються спеціальними або
регулярні.

Спеціальні вбудовані утиліти POSIX:

., :, перерву, продовжувати, евал, Exec, вихід, експорт, лише для читання, повертати, комплект, зсув, times, пастка,
скасовано

Додатковий mksh команди для виконання завдань:

вбудований, в цілому, джерело, набірний, чекати

Вбудови, які не є особливими:

[, псевдонім, bg, пов'язувати, як, cd, команда, нудьгувати, false, fc, fg, getopts, роботи, вбивати, дозволяти, друк,
pwd, зчитування, реальний шлях, перейменувати, сон, Призупинити, тест, правда, Ulimit, умаск, псевдоніми, звідки

Після визначення типу команди всі параметри командного рядка призначаються
виконується та експортується протягом дії команди.

Нижче описано спеціальні та звичайні вбудовані команди та зарезервовані, схожі на вбудовані
слова:

. файл [аргумент ...]
Це називається командою «точка». Виконайте команди в файл в течії
навколишнє середовище. Файл шукається в каталогах PATH. Якщо аргументи є
враховуючи, позиційні параметри можуть використовуватися для доступу до них while файл в даний час
виконано. Якщо аргументи не вказано, позиційними параметрами є параметри
середовище, в якому використовується команда.

: [...]
Нульова команда. Статус виходу встановлено на нуль.

[ вираз ]
Читати тест.

псевдонім [-d | -t [-r] | +-x] [-p] [+] [ім'я [=значення] ...]
Без аргументів, псевдонім перелічує всі псевдоніми. Для будь-якого імені без значення,
наявний псевдонім у списку. Будь-яке ім’я зі значенням визначає псевдонім (див псевдонімами
вище).

При переліку псевдонімів використовується один із двох форматів. Зазвичай псевдоніми вказані як
ім'я=значення, Де значення цитується. Якщо перед параметрами стояло «+» або одиночний «+»
надається лише в командному рядку ім'я друкується.

Команда -d Параметр викликає перерахування псевдонімів каталогів, які використовуються в розширенні тильди
або встановити (див тильда розширення вище).

Якщо -p використовується параметр, кожен псевдонім має префікс рядка «псевдонім».

Команда -t Параметр вказує, що відстежувані псевдоніми мають бути перераховані/встановлені (вказані значення
у командному рядку ігноруються для відстежуваних псевдонімів). The -r опція вказує на це
усі відстежувані псевдоніми мають бути скинуті.

Команда -x набори опцій (+x очищає) атрибут експорту псевдоніма або, якщо немає імен
дано, перераховує псевдоніми з атрибутом експорту (експорт псевдоніма не має
ефект).

bg [робота ...]
Відновіть вказані зупинені завдання у фоновому режимі. Якщо вакансії не вказано, %+
передбачається. Подивитися робота контроль нижче для отримання додаткової інформації.

пов'язувати [-l]
Перелічено поточні прив’язки. Якщо -l прапор дається, пов'язувати замість цього перелічує
назви функцій, до яких можуть бути прив'язані ключі. Подивитися Emacs редагування режим більше
інформація.

пов'язувати [-m] рядок=[замінити] ...
пов'язувати рядок=[редагування-команда] ...
Вказана команда редагування прив’язана до заданої рядок, який має складатися з a
керуючий символ, необов’язково передує один із двох символів префікса та
за бажанням замінюється символом тильди. Майбутній вхід рядок викличе
команду редагування, яку потрібно негайно викликати. Якщо -m прапор дано, вказано
вхід рядок згодом буде негайно замінено даним замінити рядок
який може містити команди редагування, але не інші макроси. Якщо постфікс тильди є
враховуючи, тильду, що закінчується однією або двома префорсами, і контрольний символ ігнорується,
будь-який інший кінцевий символ буде оброблено пізніше.

Керуючі символи можуть бути записані за допомогою каретки, тобто ^X представляє Ctrl-X.
Зауважте, що хоча підтримуються лише два символи префікса (зазвичай ESC і ^X),
деякі багатосимвольні послідовності можуть підтримуватися.

Наведені нижче прив’язки за замовчуванням показують, як працюють клавіші зі стрілками, клавіша Home, End і Delete
на BSD wsvt25, xterm-xfree86 або екранний термінал GNU прив'язані (звичайно, деякі
escape-послідовності не будуть працювати так добре):

прив’язати '^X'=префікс-2
прив’язати '^[['=префікс-2
прив'язувати '^XA'=гора-історія
прив'язувати '^XB'=запуск
bind '^XC'=forward-char
bind '^XD'=back-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 використовується параметр (фізичний шлях) або якщо фізичний опція
set, '..' є відносно дерева каталогів файлової системи. PWD і OLDPWD
параметри оновлюються, щоб відображати поточний і старий робочий каталог,
відповідно. Якщо -e параметр встановлений для фізичного обходу файлової системи та PWD
неможливо встановити, код виходу 1; більше 1, якщо сталася помилка, 0
інакше.

cd [-eLP] старий new
чдір [-eLP] старий new
Рядок new замінюється старий у поточному каталозі та оболонку
намагається перейти до нового каталогу.

команда [-pVv] CMD [аргумент ...]
Якщо ні -v ні -V надається варіант, CMD виконується точно так, ніби команда було
не вказано, за двома винятками: по-перше, CMD не може бути функцією оболонки; і
по-друге, спеціальні вбудовані команди втрачають свою особливість (тобто перенаправлення і
помилки утиліти не викликають вихід оболонки, а призначення команд ні
постійний).

Якщо -p задано параметр, замість поточного значення використовується шлях пошуку за замовчуванням
PATH, фактичне значення якого залежить від системи.

Якщо -v надається параметр замість виконання CMD, інформація про те, що б
executed дається (і те ж саме робиться для аргумент ...). Для вбудованих, функцій і
ключові слова, їх назви просто друкуються; для псевдонімів команда, яка їх визначає
друковані; для утиліт, знайдених шляхом пошуку за параметром PATH, повний шлях до
команда друкується. Якщо жодна команда не знайдена (тобто пошук шляху не вдається), нічого не знайдено
друковані і команда виходи з ненульовим статусом. The -V варіант схожий на -v
варіант, за винятком того, що він більш багатослівний.

продовжувати [рівень]
Стрибки на початок рівеньй внутрішній-най та цінності, вибрати, доабо в той час як петлі.
рівень за замовчуванням 1.

нудьгувати [-Еен] [аргумент ...]
Увага! ця утиліта не є переносною; використовуйте вбудовану оболонку Korn друк замість цього.

Друкує свої аргументи (розділені пробілами), за якими слід новий рядок, відповідно до стандарту
вихід. Новий рядок пригнічується, якщо будь-який з аргументів містить зворотну косу риску
послідовність '\c'. Див друк команду нижче для списку інших послідовностей зворотної косої риски
які визнані.

Надаються параметри для сумісності зі сценаріями оболонки BSD. The -n варіант
пригнічує кінцевий новий рядок, -e дозволяє інтерпретувати зворотну косу риску (без операції, оскільки
це зазвичай робиться), і -E пригнічує інтерпретацію зворотної косої риски.

Якщо posix or sh встановлено, або це прямий вбудований виклик, тільки перший
аргумент розглядається як варіант, і тільки якщо це точно «-n”. Зворотна коса риса
інтерпретація вимкнена.

евал команда ...
Аргументи об’єднуються (з пробілами між ними), щоб утворити єдиний рядок
який потім оболонка аналізує та виконує в поточному середовищі.

Exec [-a argv0] [-c] [команда [аргумент ...]]
Команда виконується без роздвоєння, замінюючи процес оболонки. Це
на даний момент абсолютна, тобто Exec ніколи не повертається, навіть якщо команда не знайдено. The
-a Опція дозволяє встановити інше значення argv[0], і -c очищає навколишнє середовище
перед виконанням дочірнього процесу, за винятком змінної _ та прямих присвоєнь.

Якщо не дається жодна команда, окрім переспрямування вводу-виводу, перенаправлення вводу-виводу є постійним
і оболонка не замінюється. Будь-які відкриті дескриптори файлів більше 2
or dup(2), які таким чином не стають доступними для інших виконуваних команд (тобто
команди, які не вбудовані в оболонку). Зауважте, що оболонка Борна відрізняється
тут; він передає ці дескриптори файлів.

вихід [статус]
Оболонка виходить із зазначеним статусом виходу. Якщо статус не вказано, вихід
status — це поточне значення $? параметр.

експорт [-p] [параметр[=значення]]
Встановлює атрибут експорту названих параметрів. Експортовані параметри передаються
середовище для виконуваних команд. Якщо вказано значення, іменовані параметри
також призначаються.

Якщо параметри не вказано, всі параметри з набору атрибутів експорту є
друкується по одному на рядок; або їх назви, або, якщо '-' без літери опції є
вказані пари ім’я=значення, або з -p, експорт команди, придатні для повторного входу.

false Команда, яка виходить із ненульовим статусом.

fc [-e редактор | -l [-n]] [-r] [перший [останній]]
перший та останній виберіть команди з історії. Команди можна вибирати за допомогою історії
число (від’ємні числа повертаються назад від поточного, останнього рядка) або a
рядок, що вказує останню команду, яка починається з цього рядка. The -l варіант
перераховує команду на стандартному виводі та -n блокує номери команд за замовчуванням.
Команда -r параметр змінює порядок списку на зворотний. Без -l, вибрані команди
редагується редактором, зазначеним за допомогою -e варіант, або якщо ні -e вказано,
редактор, визначений параметром FCEDIT (якщо цей параметр не встановлено, /bin/ed is
використовується), а потім виконується оболонкою.

fc -e - | -s [-g] [старий=new] [префікс]
Повторно виконайте вибрану команду (попередня команда за замовчуванням) після виконання
необов'язкова заміна старий з new. Якщо -g вказано, всі випадки
старий замінюються на new. Сенс -e - та -s ідентичний: повторно виконайте
вибрану команду без виклику редактора. До цієї команди зазвичай звертаються за допомогою
попередньо визначене: псевдонім r='fc -e -'

fg [робота ...]
Відновіть вказані завдання на передньому плані. Якщо вакансії не вказано, %+ is
припускається. Подивитися робота контроль нижче для отримання додаткової інформації.

getopts рядок параметрів ім'я [аргумент ...]
Використовується процедурами оболонки для розбору вказаних аргументів (або позиційних параметрів,
якщо аргументи не наведені) та перевірити наявність правових варіантів. рядок параметрів містить
варіант літер, що getopts це визнати. Якщо після букви стоїть двокрапка, то
Очікується, що варіант матиме аргумент. Можливі варіанти, які не приймають аргументів
згруповані в один аргумент. Якщо параметр приймає аргумент і параметр
символ не є останнім символом аргументу, в якому він знайдений, а залишок
аргумент вважається аргументом опції; інакше наступний аргумент
аргумент опції.

Щоразу getopts викликається, він розміщує наступну опцію в параметрі оболонки ім'я
і індекс аргументу, який буде оброблено наступним викликом до getopts в
параметр оболонки OPTIND. Якщо параметр було введено з '+', параметр розміщується
in ім'я має префікс «+». Коли опція вимагає аргументу, getopts місць
це в параметрі оболонки OPTARG.

Коли зустрічається неправильний параметр або аргумент відсутнього параметра, знак питання
або вставляється двокрапка ім'я (вказуючи на незаконний варіант або відсутній аргумент,
відповідно) і OPTARG встановлено на символ параметра, який спричинив проблему.
Крім того, якщо рядок параметрів не починається з двокрапки, ставиться знак питання
ім'я, OPTARG не встановлено, а повідомлення про помилку друкується як стандартна помилка.

Коли параметри закінчуються, getopts виходи з ненульовим виходом
статус. Параметри закінчуються першим аргументом (не аргументом), який не починається
з '-', або коли зустрічається аргумент '--'.

Розбір параметрів можна скинути, встановивши OPTIND на 1 (це робиться автоматично
щоразу, коли викликається оболонка або процедура оболонки).

Попередження. Зміна значення параметра оболонки OPTIND на значення, відмінне від 1, або
Розбір різних наборів аргументів без скидання OPTIND може призвести до несподіваного
результати.

в цілому ...
Читати набірний.

мішанина [-r] [ім'я ...]
Без аргументів відображаються всі хешовані імена виконуваних команд. The -r варіант
викликає видалення всіх хешованих команд з хеш-таблиці. Кожен ім'я обшукується
ніби це ім'я команди і додано до хеш-таблиці, якщо це виконуваний файл
команда

роботи [-lnp] [робота ...]
Відображати інформацію про вказані завдання; якщо вакансії не вказано, усі вакансії
відображаються. The -n Параметр спричиняє відображення інформації лише для завдань, які
змінили стан після останнього сповіщення. Якщо -l використовується варіант,
Ідентифікатор процесу кожного процесу в роботі також вказано. The -p опція викликає тільки
групу процесів кожного завдання для друку. Подивитися робота контроль нижче для формату робота
і відображене завдання.

вбивати [-s знак | -сигнум | -знак] { робота | ПІД | pgrp } ...
Надішліть вказаний сигнал до вказаних завдань, ідентифікаторів процесів або груп процесів. Якщо
сигнал не вказано, надсилається сигнал TERM. Якщо вказана робота, сигнал
надсилається до групи процесу завдання. Подивитися робота контроль нижче для формату робота.

вбивати -l [статус виходу ...]
Надрукуйте назву сигналу, що відповідає статус виходу. Якщо аргументи не вказані, а
надруковано список усіх сигналів, їх номери та короткий опис.

дозволяти [вираз ...]
Кожен вираз оцінюється (див Арифметика вирази вище). Якщо всі вирази
успішно оцінені, статус виходу дорівнює 0 (1), якщо оцінено останній вираз
до відмінного від нуля (нуля). Якщо під час синтаксичного аналізу або оцінки an
вираз, статус виходу більше 1. Оскільки вирази можуть знадобитися
цитується, (( експр )) є синтаксичним цукром для { let 'експр'; }.

дозволяти] Внутрішньо використовуваний псевдонім для дозволяти.

mknod [-m режим] ім'я b|c основний незначний
mknod [-m режим] ім'я p
Створіть спеціальний файл пристрою. Тип файлу може бути b (пристрій блочного типу), c
(пристрій типу символу), або p (іменований канал, FIFO). Створений файл можна змінити
відповідно до його режим (через -m варіант), основний (основний номер пристрою), і незначний
(другий номер пристрою). Зазвичай це не є частиною mksh; однак дистриб'ютори можуть
додали це як вбудований як швидкісний хак.

друк [-прсу[n] | -R [-en]] [аргумент ...]
друк друкує свої аргументи на стандартному виводі, розділяючи пробілами та закінчуючи
з новим рядком. The -n параметр пригнічує новий рядок. За замовчуванням деякі C екранують
перекладаються. До них належать ті, про які йдеться в Зворотний слеш розширення вище, також
як '\c', що еквівалентно використанню -n варіант. Можливе розширення зворотної косої риски
гальмується з -r варіант. -s параметр друкує у файл історії замість
стандартний вихід; в -u параметр друкує в дескриптор файлу n (n за замовчуванням 1 якщо
пропущено); і -p параметр друкує до спільного процесу (див Спільні процеси вище).

Команда -R Опція використовується для емуляції, певною мірою, BSD нудьгувати(1) команда, яка виконує
не обробляти послідовності '\', якщо не -e надається варіант. Як і вище, -n варіант
пригнічує кінцевий новий рядок.

printf формат [аргументація ...]
Відформатований вихід. Приблизно те саме, що printf(1), корисність, за винятком того, що вона використовує
такий же Зворотний слеш розширення і код введення-виводу і не обробляє плаваючу кому як
Решта mksh. Зовнішня утиліта має перевагу над вбудованою. Це не
зазвичай частина mksh; однак, дистриб'ютори, можливо, додали це як вбудоване як a
швидкісний хак. Не використовувати в новому коді.

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 (або ВІДПОВІДЬ) як масив слів.

-a Збережіть результат без розбиття слів у параметр p (або ВІДПОВІДЬ) як
масив символів (широкі символи, якщо utf8-режим введений варіант,
октети інакше); кодові точки за замовчуванням кодуються як десяткові числа.

-d x Використовуйте перший байт x, NUL, якщо порожній, замість символу нового рядка ASCII
як роздільник рядка введення.

-N z Замість того, щоб читати до кінця рядка, читайте точно z байтів. Якщо EOF або a
настає тайм-аут, повертається часткове читання зі статусом виходу 1.

-n z Замість того, щоб читати до кінця рядка, читайте до z байт, але повертатися, як тільки
будь-які байти зчитуються, наприклад, з повільного термінального пристрою, або якщо EOF або тайм-аут
відбувається

-p Прочитати з поточного активного спільного процесу, див Спільні процеси вище для деталей
на цьому.

-u[n] Прочитати з дескриптора файлу n (за замовчуванням 0, тобто стандартний вхід). The
Аргумент має відразу слідувати за символом параметра.

-t n Після переривання читання n секунд (зазначено як позитивне десяткове значення з символом
необов’язкова дробова частина). Вихідний статус зчитування дорівнює 1, якщо тайм-аут
відбулося, але часткові читання все ще можуть бути повернуті.

-r Зазвичай символ зворотної косої риски ASCII уникає особливого значення
наступний символ і видаляється з введення; зчитування не зупиняється, коли
зустрічає послідовність зворотної косої риски та нового рядка і не зберігає цей новий рядок
результат. Ця опція вмикає необроблений режим, у якому немає зворотної косої риски
оброблено.

-s Рядок введення зберігається в історії.

Якщо вхід є терміналом, обидва -N та -n параметри встановлюють його в необроблений режим; Вони
прочитати весь файл, якщо -1 передано як z аргумент.

Перший параметр може мати знак питання та доданий до нього рядок, у якому
у випадку, якщо рядок використовується як підказка (друкується зі стандартною помилкою перед будь-яким введенням
прочитати), якщо вхідним є a tty(4) (напр зчитування nfoo?'номер of foos: ').

Якщо вхід не зчитується або виник тайм-аут, зчитування виходи з ненульовим статусом.

Ще один зручний набір прийомів: Якщо зчитування виконується в циклі, наприклад в той час як зчитування foo; do ...;
зроблений тоді провідні пробіли будуть видалені (IFS) і оброблені зворотні слеші. ти
можливо, захочеться використати в той час як IFS= зчитування -r foo; do ...; зроблений для бездоганного введення-виводу. так само,
при використанні -a варіант, використання -r варіант може бути розумним; те саме стосується
для:

знайти . -type f -print0 |& \
у той час як IFS= read -d '' -pr ім'я файлу; робити
print -r -- "знайдено <${filename#./}>"
зроблений

Внутрішній цикл буде виконуватися у підоболонці, і змінні змінні не можуть бути
поширюється, якщо виконується в конвеєрі:

бар | база | під час читання foo; робити ...; зроблено

Натомість використовуйте спільні процеси:

бар | база |&
під час читання -p foo; робити ...; зроблено
exec 3>&p; exec 3>&-

лише для читання [-p] [параметр [=значення] ...]
Встановлює атрибут лише для читання названих параметрів. Якщо дані значення,
для них встановлюються параметри перед встановленням атрибута. Після створення параметра
тільки для читання, його не можна скасувати, а його значення не можна змінити.

Якщо параметри не вказано, назви всіх параметрів доступні лише для читання
атрибут друкуються по одному на рядок, якщо не -p використовується опція, у цьому випадку
лише для читання команди, що визначають усі параметри лише для читання, включаючи їх значення
надруковані.

реальний шлях [--] ім'я
Друкує вирішений абсолютний шлях, відповідний до ім'я. Якщо ім'я закінчується на а
косою рискою ('/'), вона також перевіряється на наявність і чи є вона каталогом;
інакше, реальний шлях повертає 0, якщо ім’я шляху існує або його можна створити
відразу, тобто всі, крім останнього компонента, існують і є каталогами.

перейменувати [--] від до
Перейменовує файл від до до. Обидва мають бути повними іменами шляху та на одному пристрої.
Ця вбудована функція призначена для надзвичайних ситуацій, коли /bin/mv стає непридатним, і
безпосередньо дзвонить перейменувати(2).

повертати [статус]
Повертає з функції або . сценарій із статусом виходу статус. Якщо ні статус дається,
використовується статус виходу останньої виконаної команди. Якщо використовується за межами функції
or . сценарій, він має той самий ефект, що і вихід. Зверніть увагу на це mksh трактує як профіль, так і
ENV файли як . сценаріїв, тоді як оригінальна оболонка Korn розглядає профілі лише як .
скриптів.

комплект [+-abCefhiklmnprsUuvXx] [+-о варіант] [+-А ім'я] [--] [аргумент ...]
Команда комплект команду можна використовувати для встановлення (-) або ясно (+) параметри оболонки, встановіть позиційний
параметри або встановіть параметр масиву. Параметри можна змінити за допомогою +-о варіант
синтаксис, де варіант це довга назва параметра або використання +-лист синтаксис,
де лист це назва опції з однієї літери (не всі параметри мають одну літеру
ім'я). У наступній таблиці наведено як літери варіантів (якщо вони існують), так і довгі назви
разом з описом того, що робить цей параметр:

-A ім'я
Встановлює елементи параметра масиву ім'я до аргумент ... If -A Використовується,
спочатку скидається (тобто спустошується) масив; якщо +A використовується, встановлюються перші N елементів
(де N – кількість аргументів); решта залишаються недоторканими.

Альтернативний синтаксис для команди комплект -A Foo -- a b c яка сумісна з
GNU бити а також підтримується AT&T UNIX ksh93 це: foo=(a b в); foo+=(d e)

-a | -o allexport
Усі нові параметри створюються з атрибутом експорту.

-b | -o повідомляти
Друк повідомлень про завдання асинхронно, а не безпосередньо перед
підказка. Використовується, лише якщо ввімкнено керування завданнями (-m).

-C | -o noclobber
Заборонити > перенаправлення перезаписувати наявні файли. Натомість >| необхідно використовувати
щоб примусово перезаписати. Зауважте, що це небезпечно використовувати для створення
тимчасові файли або файли блокування через TOCTOU у перевірці, що дозволяє переспрямовувати
вихід до / dev / null або інші файли пристрою навіть у noclobber Режим.

-e | -o помилка
Вийдіть (після виконання пастки 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(НАБІР КОДІВ), або середовище LC_ALL, LC_CTYPE або LANG
змінних, і принаймні одна з них повертає щось, що відповідає “UTF-8” або
“utf8” не чутливий до регістру; для прямих вбудованих викликів залежно від
вищезгадані змінні середовища; або для stdin або сценаріїв, якщо вхід
починається з позначки порядку байтів UTF-8.

Найближчим часом буде реалізовано відстеження локалі, а це означає комплект -+У is
змінюється щоразу, коли змінюється одна із змінних середовища POSIX, пов’язаних із локалі.

-u | -o іменник
Посилання на не встановлений параметр, відмінний від «$@» або «$*», розглядається як
помилка, якщо не використовується один із модифікаторів '-', '+' або '='.

-v | -o докладний
Запишіть введені дані оболонки до стандартної помилки під час читання.

-X | -o markdirs
Позначайте каталоги символом "/" в кінці під час створення імені файлу.

-x | -o xtrace
Друк дерев команд, коли вони виконуються, передує значення PS4.

-o bgnice
Фонові завдання виконуються з нижчим пріоритетом.

-o дужкарозгорнути
Увімкнути розширення дужки (він же чергування). Це ввімкнено за замовчуванням. Якщо
вимкнено, розширення тильди після знака рівності вимкнено як побічний ефект.

-o emacs
Увімкнути редагування командного рядка, подібне до BRL emacs (лише інтерактивні оболонки); подивитися Emacs
редагування режим.

-o gmacs
Увімкнути редагування командного рядка, подібне до gmacs (лише інтерактивні оболонки). Наразі
ідентичний редагування emacs, за винятком того, що transpose-chars (^T) діє незначно
по-різному.

-o ігнорувати
Оболонка не вийде (легко) після читання кінця файлу; вихід повинні бути використані.
Щоб уникнути нескінченних циклів, оболонка вийде, якщо EOF читати 13 разів поспіль.

-o inherit-xtrace
Не скидати -o xtrace при вході до функцій. Це ввімкнено за замовчуванням.

-o nohup
Не припиняйте запущені завдання за допомогою сигналу SIGHUP, коли завершується вихід оболонки входу.
Наразі встановлено за замовчуванням, але це може змінитися в майбутньому, щоб бути сумісним
з AT&T UNIX ksh, який не має цієї опції, але надсилає SIGHUP
сигнал.

-o nolog
Немає ефекту. У оригінальній оболонці Korn це запобігає визначенню функцій
зберігається у файлі історії.

-o фізичний
Викликає cd та pwd команди для використання «фізичного» (тобто файлової системи) «..»
каталогів замість “логічних” каталогів (тобто оболонка обробляє '..', яка
дозволяє користувачеві не звертати уваги на символічні посилання на каталоги). Очистити
за замовчуванням. Зауважте, що налаштування цієї опції не впливає на поточне значення
параметр PWD; тільки cd команда змінює PWD. Див cd та pwd Команди
вище для більш детальної інформації.

-o трубопровід
Зробіть вихідний статус конвеєра (перед логічним доповненням).
крайній правий ненульовий рівень помилки або нульовий, якщо всі команди вийшли з нулем.

-o posix
Поводьтеся ближче до стандартів (див POSIX режим для деталей). Автоматично
увімкнено, якщо базова назва виклику оболонки починається з «sh» і це
функція автоматичного визначення скомпільована (не в MirBSD). Як побічний ефект, установка
цей прапор вимикається дужкарозгорнути режим, який можна знову ввімкнути вручну, і
sh режим (якщо обидва не активовані одночасно).

-o sh
включити / Бен / ш (кладж) режим (див SH режим). Автоматично вмикається, якщо
базова назва виклику оболонки починається з «sh» і цієї функції автоматичного визначення
скомпільовано (не в MirBSD). Як побічний ефект встановлення цього прапорця вимикається
дужкарозгорнути режим, який можна знову ввімкнути вручну, і posix режим (якщо
обидва ввімкнені одночасно).

-o vi
включити vi(1) подібне до редагування командного рядка (лише інтерактивні оболонки). Подивитися Vi
редагування режим для документації та обмежень.

-o vi-esccomplete
У редагуванні командного рядка vi виконайте завершення команди та імені файлу, коли escape (^[)
вводиться в командному режимі.

-o vi-tabcomplete
Під час редагування командного рядка vi виконуйте завершення команди та імені файлу, коли є вкладка (^I).
введено в режим вставки. Це значення за замовчуванням.

-o вірав
Немає ефекту. В оригінальній оболонці Korn, якщо вірав було встановлено, команда vi-
режим лінії дозволить tty(4) драйвер виконує роботу, поки не буде введено ESC (^[).
mksh завжди в режимі viraw.

Ці параметри також можна використовувати під час виклику оболонки. Поточний набір
параметри (з однолітерними назвами) можна знайти в параметрі '$-'. комплект -o з
жодна назва параметра не містить переліку всіх параметрів і того, чи ввімкнено кожен із них; комплект +o волі
надрукувати довгі назви всіх параметрів, які зараз увімкнено. У майбутній версії, комплект
+o буде працювати відповідно до POSIX і друкуватиме команди для відновлення поточних параметрів
замість цього.

Решта аргументи, якщо такі є, є позиційними параметрами і призначаються, по порядку, до
позиційні параметри (тобто $1, $2 тощо). Якщо параметри закінчуються на "--" і там
немає інших аргументів, усі параметри позиції очищаються. Якщо немає варіантів або
наводяться аргументи, виводяться значення всіх імен. Для невідомих історичних
з причин, одиночний параметр '-' розглядається спеціально – він очищає обидва -v та -x
Варіанти.

зсув [номер]
Позиційні параметри номер+ 1, номер+2 тощо перейменовуються на "1", "2" тощо.
номер за замовчуванням 1.

сон seconds
Призупиняє виконання на мінімум seconds вказано як додатне десяткове значення
з необов’язковою дробовою частиною. Доставка сигналу може продовжити виконання раніше.

джерело файл [аргумент ...]
Люблю . («крапка»), за винятком того, що поточний робочий каталог додається до пошуку
шлях (GNU бити розширення).

Призупинити
Зупиняє оболонку так, ніби вона отримала символ призупинення від терміналу. це є
неможливо призупинити дію оболонки входу, якщо батьківський процес не є членом
той самий термінальний сеанс, але є членом іншої групи процесів. Як генерал
правило, якщо оболонка була запущена іншою оболонкою або через su(1), його можна призупинити.

тест вираз
[ вираз ]
тест оцінює вираз і повертає нульовий статус, якщо істина, 1, якщо false, або більше
ніж 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 варіант Склад варіант встановлено (див комплект команду вище для списку
варіанти). Як нестандартне розширення, якщо параметр починається з
a '!', тест заперечується; тест завжди зазнає невдачі, якщо варіант
не існує (тому [ -o foo -o -o !foo ] повертає true тоді і тільки
якщо варіант Foo існує). Те ж саме можна досягти за допомогою [ -o ?foo ]
як у AT&T UNIX ksh93. варіант також може бути короткий прапор на чолі з
'-' або '+' (без логічного заперечення), наприклад '-x' або '+x'
замість 'xtrace'.

-p файл файл є іменованим каналом (FIFO).

-r файл файл існує і читається.

-S файл файл це UNIX(4)-доменний сокет.

-s файл файл не є порожнім.

-t fd Дескриптор файлу fd це tty(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 номер Числа порівнюються більші або рівні.

номер -gt номер Числа порівнюють більше ніж.

номер -The номер Числа порівнюються менші або рівні.

номер номер Числа порівнюють менше ніж.

Наведені вище основні вирази, в яких унарні оператори мають пріоритет над бінарними
оператори, можна об’єднати з наступними операторами (перелічені в порядку збільшення
пріоритету):

expr -o expr Логічне АБО.
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" ]" або
Оператор подвійних дужок “if [[ $foo = bar ]]” або, щоб уникнути збігу шаблону (див. [[
вище): "якщо [[ $foo = "$bar" ]]"

Команда [[ ... ]] construct не тільки безпечніша у використанні, але й часто швидша.

час [-p] [трубопровід]
Якщо трубопровід вказано, час, використаний для виконання конвеєра, повідомляється. Якщо ні
дається конвеєр, потім користувацький і системний час, які використовує сама оболонка, і все
повідомляється про команди, які він виконував з моменту запуску. Повідомлені часи
реальний час (час, що минув від початку до кінця), час ЦП користувача (витрачений час
працює в режимі користувача), і час системного процесора (час, витрачений на роботу в режимі ядра).
Часи повідомляються зі стандартною помилкою; формат виходу такий:

0m0.00s реальний 0m0.00s користувач 0m0.00s система

Якщо -p надається параметр, вихід трохи довший:

справжній 0.00
користувач 0.00
sys 0.00

Помилкою є вказівка -p варіант хіба що трубопровід це проста команда.

Прості перенаправлення стандартної помилки не впливають на вихід час команда:

$ time sleep 1 2>afile
$ { час сну 1; } 2>файл

Часи для першої команди не переходять до «afile», а час для другої команди.

times Роздрукуйте накопичений час користувача та системи, використаний як оболонкою, так і процесами
щоб запущена оболонка, яка вийшла. Формат виходу такий:

0м0.00с 0м0.00с
0м0.00с 0м0.00с

пастка n [сигналізувати ...]
Якщо перший операнд є десятковим беззнаковим числом, це скидає всі вказані сигнали
на дію за замовчуванням, тобто те саме, що й виклик пастка зі знаком мінус ('-') як
обробник, а потім аргументи (n [сигналізувати ...]), які всі розглядаються як
сигнали.

пастка [обробник сигналізувати ...]
Встановлює обробник пастки, який має виконуватися, коли будь-який із зазначених сигналізуватиs є
отримано. обробник є або порожнім рядком, що вказує, що сигнали мають бути
ігнорується, знак мінус ('-'), що вказує на те, що потрібно виконати дію за замовчуванням
сигнали (див сигналізувати(3)), або рядок, що містить команди оболонки, які потрібно виконати
перша можливість (тобто після завершення поточної команди або перед друком
наступне підказку PS1) після отримання одного із сигналів. сигналізувати це ім'я а
сигнал (наприклад, PIPE або ALRM) або номер сигналу (див вбивати -l команда
вище).

Є два спеціальні сигнали: EXIT (також відомий як 0), який виконується, коли
оболонка збирається вийти, і ERR, яка виконується після виникнення помилки; помилка є
щось, що призведе до виходу оболонки, якщо комплект -e or комплект -o помилка варіант
були встановлені. Обробники EXIT виконуються в середовищі останнього виконаного
команда

Зауважте, що для неінтерактивних оболонок обробник пастки не можна змінити для сигналів
які були проігноровані під час запуску оболонки.

Без аргументів, поточний стан пасток, які були встановлені після оболонки
розпочато показано як серію пастка команди. Зверніть увагу, що вихід з пастка не може
бути корисно переведеним на інший процес (артефакт того факту, що пастки очищаються
коли створюються підпроцеси).

Оригінальна пастка DEBUG оболонки Korn і обробка пасток ERR і EXIT
функції ще не реалізовані.

правда Команда, яка завершується з нульовим значенням.

в цілому [[+-alpnrtUux] [-L[n]] [-R[n]] [-Z[n]] [-i[n]] | -f [- смокінг]] [ім'я [=значення] ...]
набірний [[+-alpnrtUux] [-ЛРЗ[n]] [-i[n]] | -f [- смокінг]] [ім'я [=значення] ...]
Відображення або встановлення атрибутів параметрів. З не ім'я аргументи, атрибути параметрів
відображаються; якщо параметри не використовуються, поточні атрибути всіх параметрів є
надруковано як набірний команди; якщо дано варіант (або "-" без літери варіанту),
друкуються всі параметри та їх значення із зазначеними атрибутами; якщо варіанти
вводяться з '+', значення параметрів не друкуються.

If ім'я наводяться аргументи, задаються атрибути названих параметрів (-) Або
очищений (+). За бажанням можна вказати значення параметрів. Для ім'я[*],
зміна впливає на весь масив, і значення не може бути вказано.

If набірний використовується всередині функції, будь-які вказані параметри локалізовані. Це
не виконується ідентичним іншим чином в цілому. примітки: Це означає що mksh 's в цілому
команда є НЕ еквівалентний іншим мовам програмування», оскільки не дозволяє a
функція, викликана з іншої функції для доступу до параметра у справді глобальній області дії,
але лише запобігає розміщенню доступного в локальній області видимості.

Коли -f використовується, набірний оперує атрибутами функцій. Як і в разі
параметри, якщо ні ім'я наводяться аргументи, перераховуються функції з їх значеннями
(тобто визначення), якщо параметри не введені з '+', у цьому випадку тільки
повідомляються назви функцій.

-a Атрибут індексованого масиву.

-f Функціональний режим. Відображати або встановлювати функції та їх атрибути замість
параметри

-i[n] Цілочисельний атрибут. n вказує основу для відображення цілого числа
(якщо не вказано, використовується основа, наведена в першому завданні).
Параметрам з цим атрибутом можуть бути присвоєні значення, що містять арифметику
вирази.

-L[n] Атрибут вирівнювання по лівому краю. n визначає ширину поля. Якщо n не зазначено,
поточна ширина параметра (або ширина його першого призначеного значення)
використовується. Початковий пробіл (і нулі, якщо використовуються з -Z варіант) є
роздягнений. Якщо необхідно, значення або обрізаються, або доповнюються пробілом, щоб відповідати
ширина поля.

-l Атрибут нижнього регістру. Усі символи верхнього регістру в значеннях перетворюються в
нижній регістр. (У оригінальній оболонці Korn цей параметр означав «довге ціле число»
при використанні з -i варіант.)

-n Створення зв’язаної змінної (посилання на ім’я): будь-який доступ до змінної ім'я
отримає доступ до змінної значення у поточній області (це відрізняється від
AT&T UNIX ksh93!) замість цього. Також відрізняється від AT&T UNIX ksh93 в тому, що
значення ліниво оцінюється в той час ім'я доступ. Цим можна скористатися
функції для доступу до змінних, імена яких передаються як параметри
використання евал.

-p Друк завершено набірний команди, які можна використовувати для повторного створення атрибутів
і значення параметрів.

-R[n] Атрибут вирівнювання по правому краю. n визначає ширину поля. Якщо n НЕ
вказано поточну ширину параметра (або ширину його першого
призначене значення). Кінцеві пробіли видаляються. Якщо необхідно,
значення або позбавляються провідних символів, або доповнюються пробілом для їх створення
відповідати ширині поля.

-r Атрибут лише для читання. Параметри з цим атрибутом не можуть бути призначені
або вимкнено. Після встановлення цього атрибута його не можна вимкнути.

-t Атрибут тегу. Не має значення для оболонки; надано для використання програми.

Для функцій, -t є атрибутом трасування. Коли функції з трасуванням
атрибут виконується, xtrace (-x) параметр оболонки тимчасово увімкнено
далі.

-U Цілий атрибут без знака. Цілі числа друкуються як значення без знака (об’єднати
з -i варіант). Цього параметра немає в оригінальній оболонці Korn.

-u Атрибут верхнього регістру. Усі символи нижнього регістру у значеннях перетворюються на
верхній регістр. (У оригінальній оболонці Korn цей параметр означав «непідписаний
ціле» при використанні з -i варіант, який означав великі літери
ніколи не використовувати для баз більше 10. Див -U варіант.)

Для функцій, -u є невизначеним атрибутом. Подивитися Функції вище для
наслідки цього.

-x Атрибут експорту. Параметри (або функції) розміщуються в середовищі
будь-які виконані команди. Експортовані функції ще не реалізовані.

-Z[n] Атрибут нульового заповнення. Якщо не поєднується з -L, це те саме, що -R, За винятком
нульовий відступ використовується замість пробілу. Для цілих чисел число
замість основи набивна.

Якщо хтось із -i, -L, -l, -R, -U, -uабо -Z параметри змінюються, всі інші з цього
set очищаються, якщо вони також не вказані в тому ж командному рядку.

Ulimit [-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 Секунди ЦП, проведені в режимі користувача, які будуть використані кожним
процесу.

-V n Установіть кількість моніторів vnode на Haiku n.

-v n Встановити обмеження n кібібайти на обсяг віртуальної пам'яті (адресний простір)
використаний

-w n Встановити обмеження n кібібайт на кількість використовуваного місця підкачки.

Наскільки Ulimit Що стосується, блок має 512 байт.

умаск [-S] [маска]
Відобразити або встановити маску створення дозволу на файл або umask (див умаск(2)). Якщо -S
використовується параметр, маска відображається або встановлюється символічно; інакше це вісімкове число
номер.

Символічні маски схожі на ті, якими користуються CHMOD(1). При використанні вони описують що
можуть бути доступні дозволи (на відміну від вісімкових масок, у яких встановлений біт означає
відповідний біт має бути очищений). Наприклад, “ug=rwx,o=” так встановлює маску
файли не будуть доступні для читання, запису або виконання "іншими", і це еквівалентно
(у більшості систем) до вісімкової маски «007».

псевдоніми [-дод] [ім'я ...]
Псевдоніми для даних імен видаляються. Якщо -a використовується параметр, усі псевдоніми
видаляються. Якщо -t or -d використовуються опції, виконуються вказані операції
на псевдоніми відстежених або каталогів відповідно.

скасовано [-fv] параметр ...
Скасуйте вказані параметри (-v, за замовчуванням) або функції (-f). З параметр[*],
атрибути зберігаються, лише значення не встановлюються.

Статус виходу ненульовий, якщо будь-який з параметрів має атрибут лише для читання
встановити, інакше нуль.

чекати [робота ...]
Дочекайтеся завершення вказаних завдань. Вихідний статус чекати це останній
зазначена робота; якщо останнє завдання припинено сигналом, статус виходу дорівнює 128 + the
номер сигналу (див вбивати -l статус виходу вище); якщо останнє задане завдання не може
бути знайдений (оскільки він ніколи не існував або вже закінчився), статус виходу чекати
становить 127. Див робота контроль нижче для формату робота. чекати повернеться, якщо з’явиться сигнал
для якого була встановлена ​​пастка, або якщо сигнал SIGHUP, SIGINT або SIGQUIT
отримано.

Якщо вакансії не вказано, чекати чекає на всі поточні поточні завдання (якщо такі є).
закінчити та вийти з нульовим статусом. Якщо моніторинг завдань увімкнено, завершення
роздруковується стан завдань (це не так, якщо завдання вказано явно).

звідки [-пв] [ім'я ...]
Без того -v варіант, це те саме, що команда -v, крім псевдонімів, не друкуються
як команда псевдоніма. З -v варіант, це точно так само, як команда -V, в
в будь-якому випадку -p параметр відрізняється: шлях пошуку не впливає на звідки, Але
пошук обмежено шляхом.

робота контроль
Керування роботами відноситься до здатності оболонки відстежувати й контролювати завдання, які є процесами або
групи процесів, створених для команд або конвеєрів. Як мінімум, оболонка стежить
статус фонових (тобто асинхронних) завдань, які на даний момент існують; це
інформацію можна відобразити за допомогою роботи команди. Якщо контроль завдань повністю увімкнено
(З використанням комплект -m or комплект -o контролювати), як і для інтерактивних оболонок, процесів завдання
поміщені у власну групу процесів. Завдання переднього плану можна зупинити, ввівши команду suspend
символ з терміналу (зазвичай ^Z), завдання можна перезапустити або на передньому плані, або на
фон за допомогою fg та bg команд, і стан терміналу буде збережено або відновлено
коли завдання переднього плану зупиняється або перезапускається відповідно.

Зауважте, що лише команди, які створюють процеси (наприклад, асинхронні команди, підоболонка
команди, а також невбудовані, нефункціональні команди) можна зупинити; команди, як зчитування не може
бути.

Коли робота створюється, їй присвоюється номер роботи. Для інтерактивних оболонок це число
друкується всередині «[..]», за яким слідують ідентифікатори процесів у завданні, коли an
виконується асинхронна команда. Робота може бути згадана в bg, fg, роботи, вбивати та чекати
команд або за ідентифікатором процесу останнього процесу в конвеєрі команд (як збережено в
$! параметр) або додавши до номера завдання знак відсотка ("%"). Інші відсотки
послідовності також можна використовувати для позначення робочих місць:

%+ | %% | % Остання зупинена робота або, якщо немає зупинених завдань, найстаріша
бігову роботу.

%- Робота, яка б була %+ роботу, якщо останнього не існувало.

%n Робота з номером роботи n.

%?рядок Завдання з командою, що містить рядок рядок (помилка виникає, якщо
підібрані кілька вакансій).

%рядок Завдання з командою, що починається з рядка рядок (помилка виникає, якщо
підібрані кілька вакансій).

Коли завдання змінює стан (наприклад, фонове завдання закінчується або завдання переднього плану зупиняється),
оболонка друкує таку інформацію про стан:

[номер] прапор статус команда

where ...

номер – номер роботи;

прапор це символ «+» або «-», якщо робота є %+ or %- робота, відповідно, або простір
якщо ні;

статус вказує на поточний стан завдання і може бути:

Готово [номер]
Робота вийшла. номер - статус завершення роботи, яка пропущена
якщо статус дорівнює нулю.

Виконання Завдання не зупинилося і не вийшло (зверніть увагу, що виконання цього не відбувається
обов'язково означають споживання часу процесора - процес може бути заблокований
в очікуванні якоїсь події).

Зупинено [сигналізувати]
Робота була зупинена вказаними сигналізувати (якщо сигнал не подається, то
завдання було зупинено SIGTSTP).

сигнал-опис ["ядро скинуто"]
Робота була припинена через сигнал (наприклад, помилка пам'яті, зависання); використання вбивати -l
для списку описів сигналів. Повідомлення «ядро скинуто» вказує
процес створив основний файл.

команда це команда, яка створила процес. Якщо є кілька процесів у
завдання, кожен процес матиме рядок, що показує його команда і, можливо, його статус, Якщо
він відрізняється від статусу попереднього процесу.

Коли робиться спроба вийти з оболонки, коли є завдання в зупиненому стані, то
shell попереджає користувача про зупинені завдання і не виходить. Якщо буде ще одна спроба
негайно змушений вийти з оболонки, зупинені завдання посилаються сигналом SIGHUP і оболонки
виходи. Аналогічно, якщо nohup параметр не встановлено, і під час спроби є запущені завдання
зроблено для виходу з оболонки входу, оболонка попереджає користувача і не виходить. Якщо інший
миттєво робиться спроба вийти з оболонки, запущені завдання надсилають сигнал SIGHUP і
оболонка виходить.

POSIX режим
Вхідний комплект -o posix режим викличе mksh щоб у деяких місцях вести себе ще більш сумісним із POSIX
де значення за замовчуванням або думки розходяться. Зауважте, що mksh працюватиме з непідписаними
32-розрядна арифметика; використання лкш якщо арифметика на хості довго тип даних із ISO C
Невизначена поведінка, є обов'язковими; посилатися на лкш(1) сторінка посібника для деталей. Більшість інших
історичний, AT&T UNIX ksh-сумісні або упевнені відмінності можна вимкнути за допомогою цього
режим; це:

· GNU бити Перенаправлення вводу / виводу &>файл більше не підтримується.

· Дескриптори файлів, створені за допомогою перенаправлень вводу-виводу, успадковуються дочірніми процесами.

· Числа з першою цифрою нуль інтерпретуються як вісімкові.

· Команда нудьгувати вбудована не інтерпретує зворотну косу риску і підтримує лише точну опцію «-n".

· ... (список неповний і може змінитися для R53)

SH режим
Режим сумісності; призначений для використання із застарілими сценаріями, які неможливо легко виправити; в
зміни наступні:

· GNU бити Перенаправлення вводу / виводу &>файл більше не підтримується.

· Дескриптори файлів, створені за допомогою перенаправлень вводу-виводу, успадковуються дочірніми процесами.

· Команда нудьгувати вбудована не інтерпретує зворотну косу риску і підтримує лише точну опцію «-n".

· ... (список неповний і може змінитися для R53)

інтерактивний вхід лінія редагування
Оболонка підтримує три режими читання командних рядків з a tty(4) в інтерактиві
сесії, що контролюється в emacs, gmacs та vi параметри (щонайбільше один з них можна встановити на
один раз). За замовчуванням є emacs. Режими редагування можуть бути встановлені явно за допомогою комплект вбудований.
Якщо жоден з цих параметрів не включений, оболонка просто читає рядки, використовуючи звичайний tty(4)
водій. Якщо emacs or gmacs якщо встановлено параметр, оболонка дозволяє редагувати файл, як у emacs
команда; так само, якщо vi Якщо встановлено параметр, оболонка дозволяє редагувати файл, подібний до vi
команда. Ці режими докладно описані в наступних розділах.

У цих режимах редагування, якщо лінія довша за ширину екрана (див. COLUMNS
параметр), символ ">", "+" або "<" відображається в останньому стовпці, що вказує, що
є більше символів після, до і після або перед поточною позицією,
відповідно. За потреби рядок прокручується горизонтально.

Завершені рядки заносяться в історію, якщо вони не починаються з октету IFS або IFS
пробіл або такі ж, як і попередній рядок.

Emacs редагування режим
Коли emacs встановлено, інтерактивне редагування рядка введення ввімкнено. Попередження: цей режим
дещо відрізняється від режиму emacs в оригінальній оболонці Korn. У цьому режимі різноманітні
команди редагування (як правило, пов’язані з одним або кількома керуючими символами) викликають негайні дії
не чекаючи нового рядка. Кілька команд редагування прив'язані до певного контролю
символи під час виклику оболонки; ці прив’язки можна змінити за допомогою пов'язувати команда

Нижче наведено список доступних команд редагування. Кожен опис починається з
назва команди із двокрапкою; [n] (якщо команда може мати префікс a
рахувати); і будь-які ключі, до яких команда прив'язана за замовчуванням, записані з використанням символу каретки, наприклад
символ ASCII ESC записується як ^[. Ці контрольні послідовності не чутливі до регістру.
Префікс лічильника для команди вводиться за допомогою послідовності ^[n, Де n є послідовністю 1
або більше цифр. Якщо не вказано інше, якщо лічильник опущено, він за замовчуванням дорівнює 1.

Зауважте, що назви команд редагування використовуються лише з пов'язувати команда. Крім того, багато
команди редагування корисні лише на терміналах із видимим курсором. Прив’язки за замовчуванням
були обрані так, щоб вони нагадували відповідні прив’язки клавіш Emacs. Користувача tty(4) символи
(наприклад, ERASE) прив'язані до розумних замінників і замінюють прив'язки за замовчуванням.

перервати: ^C, ^G
Скасуйте поточну команду, очистіть буфер рядка та встановіть стан виходу
перерваний.

автоматична вставка: [n]
Просто викликає відображення символу як буквального введення. Найбільш звичайні персонажі
прив'язані до цього.

зворотний символ: [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] ВИДАТИ, ^?, ^H
Видаляє n символів перед курсором.

delete-char-forward: [n] ANSI-Del, PC-Del
Видаляє n символів після курсору.

delete-word-backward: [n] WERASE, ^[^?, ^[^H, ^[h
Видаляє n слова перед курсором.

delete-word-forward: [n] ^[d
Видаляє символи після курсору до кінця n слова.

попередня історія: [n] ^N, ^XB, ANSI-CurDown, PC-CurDown
Прокручує буфер історії вперед n рядки (пізніше). Кожен вхідний рядок спочатку
починається відразу після останнього запису в буфері історії, тому давня історія НЕ
корисно до будь-якого пошук-історія, пошук-історія-вгору or до-історія було
виконується.

слово в нижньому регістрі: [n] ^[L, ^[l
Нижній регістр наступний n слова.

рядок редагування: [n] ^Xe
Редагувати рядок n або поточний рядок, якщо не вказано, інтерактивно. Фактичний
виконана команда fc -e ${VISUAL:-${РЕДАКЦІЯ:-vi}} n.

кінець історії: ^[>
Переходить до кінця історії.

Кінець рядка: ^E, ANSI-End, PC-End
Переміщує курсор до кінця рядка введення.

eot: ^_
Діє як кінець файлу; це корисно, оскільки введення в режимі редагування вимикає нормальний режим
канонізація термінального введення.

eot-or-delete: [n] ^D
Діє як еот якщо один на лінії; інакше діє як delete-char-forward.

помилка: (не прив'язано)
Помилка (дзвонити в дзвіночок).

обмінна точка і позначка: ^X^X
Розміщує курсор там, де знаходиться позначка, і встановлює позначку на місце, де був курсор.

розгорнутий файл: ^[*
Додає "*" до поточного слова та замінює слово результатом
виконання файлу globbing для слова. Якщо жоден файл не відповідає шаблону, дзвіночок
дзвінок.

вперед-символ: [n] ^F, ^XC, ANSI-CurRight, PC-CurRight
Переміщує курсор вперед n символів.

вперед-слово: [n] ^[f, ANSI-Ctrl-CurRight, ANSI-Alt-CurRight
Переміщує курсор вперед до кінця nго слово.

перейти до історії: [n] ^[г
Переходить до номера історії n.

kill-line: ВБИТИ
Видаляє весь рядок введення.

область знищення: ^W
Видаляє введення між курсором і міткою.

вбити до еол: [n] ^К
Видаляє введення від курсору до кінця рядка if n не вказано;
інакше видаляє символи між курсором і стовпцем n.

список: ^[?
Друкує відсортований список із стовпцями імен команд або імен файлів (якщо такі є).
заповніть часткове слово, що містить курсор. До імен каталогів додається '/'
їм.

список-команда: ^X?
Друкує відсортований список із стовпцями імен команд (якщо такі є), які можуть завершити
часткове слово, що містить курсор.

список-файл: ^X^Y
Друкує відсортований список із стовпцями імен файлів (якщо такі є), які можуть завершити
часткове слово, що містить курсор. Індикатори типу файлу додаються, як описано
при список вище.

новий рядок: ^J, ^M
Спричиняє обробку поточного рядка введення оболонкою. Поточний курсор
позиція може бути в будь-якому місці лінії.

новий рядок і наступний: ^O
Спричиняє обробку поточного рядка введення оболонкою, а наступний рядок із
історія стає поточною лінією. Це корисно лише після an до-історія,
пошук-історія or пошук-історія-вгору.

no-op: ВІДХОДИТИ
Це нічого не робить.

префікс-1: ^[
Вводить послідовність команд із 2 символів.

префікс-2: ^X, ^[[, ^[O
Вводить послідовність команд із 2 символів.

prev-hist-word: [n] ^[., ^[_
Останнє слово, або, якщо дано, то nго слова (з нуля) від попереднього (на повтор
виконання, передостаннє, третє-останнє тощо) вставляється у курсор. Використання
ця команда редагування знищує позначку.

цитата: ^^, ^V
Наступний символ сприймається буквально, а не як команда редагування.

перемалювати: ^L
Повторно друкує останній рядок рядка підказки та поточний рядок введення на новий
лінія.

символ пошуку назад: [n] ^[^]
Шукати назад у поточному рядку для nй поява наступного символу
набрано.

пошук символів вперед: [n] ^]
Шукати вперед у поточному рядку для nй поява наступного символу
набрано.

історія пошуку: ^Р
Увійдіть в режим додаткового пошуку. Пошук у списку внутрішньої історії здійснюється назад
команди, що відповідають введеним параметрам. Початок '^' в рядку пошуку закріплює
пошук. Клавіша Escape вийде з режиму пошуку. Інші команди, включаючи послідовності
втечі як префікс-1 слідом за a префікс-1 or префікс-2 ключ буде виконано після
вихід із режиму пошуку. The перервати Команда (^G) відновить попередній рядок введення
пошук почався. Послідовний пошук-історія команди продовжують пошук назад до
наступне попереднє входження шаблону. Буфер історії зберігає лише a
скінченна кількість ліній; найстаріші відкидаються в міру необхідності.

Search-history-up: ANSI-PgUp, PC-PgUp
Шукати в буфері історії назад команди, початок яких відповідає
частина рядка введення перед курсором. При використанні в порожньому рядку це має
такий же ефект, як до-історія.

Search-history-down: ANSI-PgDn, PC-PgDn
Шукати вперед в буфері історії команд, початок яких відповідає
частина рядка введення перед курсором. При використанні в порожньому рядку це має
такий же ефект, як давня історія. Це корисно лише після an до-історія,
пошук-історія or пошук-історія-вгору.

set-mark-command: ^[
Встановіть позначку в положенні курсору.

транспонувати символи: ^T
Якщо в кінці рядка, або якщо gmacs встановлено, це замінює обидва
попередні персонажі; інакше він обмінює попередні та поточні символи та
переміщує курсор на один символ праворуч.

попередня історія: [n] ^P, ^XA, ANSI-CurUp, PC-CurUp
Прокручує буфер історії назад n рядки (раніше).

слово у верхньому регістрі: [n] ^[U, ^[u
Наступний великий регістр n слова.

версія: ^[^V
Відобразити версію mksh. Поточний буфер редагування відновлюється, щойно ключ
натискається. Відновлення натискання клавіші обробляється, якщо це не пробіл.

дергає: ^Y
Вставляє останній убитий текстовий рядок у поточну позицію курсору.

янк-поп: ^[y
Відразу після a дергати, замінює вставлений текстовий рядок наступним раніше
вбитий текстовий рядок.

Vi редагування режим
Примітка: Режим редагування командного рядка vi застарів, але все ще функціонує. Він 8-бітний чистий
але спеціально не підтримує UTF-8 або MBCS.

Редактор командного рядка vi в mksh має в основному ті ж команди, що й vi(1) редактор с
такі винятки:

· Ви починаєте в режимі вставки.

· Існують команди назв файлу та завершення команд: =, \, *, ^X, ^E, ^F та,
за бажанням, і .

· Команда _ команда інша (в mksh, це команда останнього аргументу; в vi(1) це йде
до початку поточного рядка).

· Команда / та G команди рухаються в напрямку, протилежному до j команда

· Команди, які не мають сенсу в одному рядковому редакторі, недоступні (наприклад, screen
команди руху і ex(1) двокрапка (:) команди).

Люблю vi(1), є два режими: режим «вставки» та режим «команди». У режимі вставки більшість
символи просто поміщаються в буфер у поточну позицію курсора під час їх введення;
однак деякі символи обробляються спеціально. Зокрема, це такі персонажі
взяті з струму tty(4) налаштування (див stty(1)) і мають звичайне значення (нормальні значення
в дужках): kill (^U), стерти (^?), werase (^W), eof (^D), intr (^C) і quit (^\).
На додаток до перерахованого вище, наступні символи також обробляються спеціально у вставці
режим:

^E Перерахування імен команд і файлів (див. нижче).

^F Завершення команди та імені файлу (див. нижче). Якщо використовується двічі поспіль, список
відображаються можливі завершення; якщо використовується втретє, завершення скасовано.

^H Стирає попередній символ.

^J | ^M Кінець рядка. Поточний рядок читається, аналізується та виконується оболонкою.

^V Дослівний далі. Наступний введений символ не обробляється спеціально (можна використовувати для
вставте описані тут символи).

^X Розширення команди та імені файлу (див. нижче).

Переводить редактор у командний режим (див. нижче).

Необов’язкове ім’я файлу та завершення команди (див ^F вище), увімкнено за допомогою комплект -o
vi-tabcomplete.

У командному режимі кожен символ інтерпретується як команда. Персонажі, які цього не роблять
відповідають командам, є незаконними комбінаціями команд або є командами, які не можуть бути
виконано, всі викликають звукові сигнали. У наступних описах команд, [n] вказує на
Команда може мати префікс цифри (наприклад 10l рухається вправо на 10 символів); якщо немає номера
використовується префікс, n вважається рівним 1, якщо не вказано інше. Термін «поточний
позиція» відноситься до позиції між курсором і символом, що передує курсору.
«Слово» — це послідовність букв, цифр і символів підкреслення або послідовність не-
літерні, нецифрові символи, символи без підкреслення та без пробілів (наприклад, “ab2*&^” містить два
слова), а «велике слово» — це послідовність непробілних символів.

спеціальний mksh команди vi:

Наведені нижче команди не містяться в звичайному редакторі файлів vi або відрізняються від них:

[n]_ Вставте пробіл, а потім символ nвелике слово з останньої команди в історії
у поточній позиції та увійти в режим вставки; якщо n не вказано, останнє
слово вставлено.

# Вставте символ коментаря ('#') на початку поточного рядка та поверніться
рядок до оболонки (еквівалент I#^J).

[n]g Подобається G, крім якщо n не вказано, воно переходить до останнього запам’ятованого
лінія.

[n]v Редагувати рядок n використання vi(1) редактор; якщо n не вказано, поточний рядок є
відредаговано. Фактично виконана команда fc -e ${VISUAL:-${РЕДАКЦІЯ:-vi}} n.

* і ^X Команда або розширення імені файлу застосовується до поточного великого слова (за допомогою an
додається '*', якщо слово не містить символів глобінгу файлу) – велике слово є
замінити отриманими словами. Якщо поточне велике слово є першим на
рядок або слідує за одним із символів ';', '|', '&', '(' або ')', і не
містити косу риску ('/'), тоді розгортання команди виконано; інакше ім'я файлу
розширення зроблено. Розширення команди відповідатиме великому слову проти всіх
псевдоніми, функції та вбудовані команди, а також будь-які знайдені виконувані файли
шляхом пошуку каталогів у параметрі PATH. Розширення імені файлу відповідає
велике слово проти файлів у поточному каталозі. Після розширення,
курсор розміщується відразу за останнім словом, а редактор перебуває в режимі вставки.

[n]\, [n]^F, [n] , і [n]
Завершення імені команди/файлу. Замініть поточне велике слово найдовшим
унікальне збіг, отримане після виконання команди та розширення імені файлу.
визнається лише якщо vi-tabcomplete встановлено, поки є тільки
визнається, якщо vi-esccomplete встановлено параметр (див комплект -o). Якщо n зазначено,
nвибрано можливе завершення (як повідомляється в імені команди/файлу
команда перерахування).

= і ^E Перерахування імені команди/файлу. Перерахуйте всі команди або файли, які відповідають
поточне велике слово.

^V Відобразити версію mksh. Поточний буфер редагування відновлюється, як тільки a
натиснута клавіша. Відновлення натискання клавіші ігнорується.

@c Макро розширення. Виконайте команди, знайдені в псевдонімі c.

Команди переміщення всередині лінії:

[n]h і [n]^H
Перемістити ліворуч n символів.

[n]l і [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наступний рядок в історії.

[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]a Додати текст n рази; переходить у режим вставки відразу після поточної позиції. The
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 у
yank буфер; якщо переміщення-cmd is y, вся лінія виривається.

Y Yanck від поточної позиції до кінця рядка.

[n]p Вставте вміст буфера yank відразу після поточної позиції, n раз.

[n]P Те саме, що p, за винятком того, що буфер вставляється в поточну позицію.

Різні команди vi

^J і ^M
Поточний рядок читається, аналізується та виконується оболонкою.

^L і ^R
Перемалюйте поточний рядок.

[n]. Повторіть останню команду редагування n раз.

u Скасуйте останню команду редагування.

U Скасувати всі зміни, внесені в поточний рядок.

Клавіші Home, End, Del та клавіші курсору
Вони рухаються, як очікувалося, як у режимі вставки, так і в режимі команди.

інтр та вихід
Термінальні символи переривання та виходу призводять до видалення поточного рядка та
нову підказку для друку.

Використовуйте mksh-static онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    глибоко чистий
    глибоко чистий
    Сценарій Kotlin, який руйнує всю збірку
    кеші з проектів Gradle/Android.
    Корисно, коли Gradle або IDE дозволяють
    вниз. Сценарій протестовано на
    macOS, але...
    Завантажити deep-clean
  • 2
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    інтегрує код Java Checkstyle
    аудитора в IDE Eclipse. The
    плагін забезпечує зворотний зв’язок у режимі реального часу
    користувач про насильство...
    Завантажте плагін Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player — безкоштовний медіаплеєр
    програмне забезпечення, частина на основі WMP і VLC. The
    плеєр в мінімалістичному стилі, с
    більше десяти кольорів теми, а також можна
    б ...
    Завантажити AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV є ДОДАТКОМ для XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar інтегрований в один із одним
    медіацентри ма...
    Завантажити movistartv
  • 5
    Код :: Блоки
    Код :: Блоки
    Code::Blocks — безкоштовна програма з відкритим кодом,
    кросплатформенний C, C++ і Fortran IDE
    створений для задоволення найвимогливіших потреб
    своїх користувачів. Він розроблений, щоб бути дуже
    подовжує ...
    Завантажити Code::Blocks
  • 6
    Серед
    Серед
    Серед або розширений інтерфейс Minecraft
    а відстеження даних/структури є інструментом для
    відобразити огляд Minecraft
    світу, фактично не створюючи його. Це
    може ...
    Завантажити Midst
  • Детальніше »

Команди Linux

Ad