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

Ad


Значок OnWorks

bash-static - онлайн у хмарі

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

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

ПРОГРАМА:

ІМ'Я


bash - GNU Bourne-Again Shell

СИНТАКСИС


бити [параметри] [рядок_команд | файл]

АВТОРСЬКЕ


Bash є авторським правом (C) 1989-2013 Free Software Foundation, Inc.

ОПИС


Удар є sh-сумісний інтерпретатор командної мови, який виконує команди, зчитовані з
стандартного введення або з файлу. Удар також містить корисні функції від Korn та C
снаряди (ksh та CSH).

Удар призначено для відповідної реалізації частини Shell та Utilities
специфікації IEEE POSIX (стандарт IEEE 1003.1). Удар можна налаштувати на POSIX-
відповідний за замовчуванням.

ВАРІАНТИ


Усі односимвольні параметри оболонки задокументовані в описі комплект
вбудовану команду можна використовувати як параметри під час виклику оболонки. В додаток, бити
інтерпретує такі параметри, коли його викликають:

-c Якщо -c присутня опція, тоді команди читаються з першої неопції
аргумент командний рядок. Якщо є аргументи після командний рядок, Вони
присвоюються параметрам позиції, починаючи з $0.
-i Якщо -i опція є, оболонка є інтерактивний.
-l зробити бити діяти так, ніби він був викликаний як оболонка входу (див ІНВОКАЦІЯ нижче).
-r Якщо -r опція присутній, оболонка стає обмежений (Див. ОБМЕЖЕНО SHELL
нижче).
-s Якщо -s параметр присутній, або якщо після обробки параметра не залишилося жодних аргументів,
потім команди читаються зі стандартного введення. Цей параметр дозволяє
позиційні параметри, які встановлюються під час виклику інтерактивної оболонки.
-D Список усіх рядків у подвійних лапках перед $ друкується на стандарті
вихід. Це рядки, які підлягають мовному перекладу, коли
поточний мовний стандарт не є C or POSIX. Це означає, що -n варіант; жодних команд не буде
бути виконаним.
[-+]О [shopt_option]
shopt_option є одним із варіантів оболонки, прийнятих магазин вбудований (див
SHELL Вбудований КОМАНДИ нижче). Якщо shopt_option присутній, -O встановлює значення
цей варіант; +O скасовує його. Якщо shopt_option не поставляється, назви і
значення параметрів оболонки, прийняті магазин друкуються на стандарті
вихід. Якщо є варіант виклику +O, вихідні дані відображаються у форматі
які можна повторно використовувати як вхідні дані.
-- A -- сигналізує про закінчення опцій і вимикає подальшу обробку параметрів. Будь-який
аргументи після -- розглядаються як імена файлів і аргументи. Аргумент про -
еквівалентна --.

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

--налагоджувач
Налаштуйте виконання профілю налагоджувача до запуску оболонки. Вмикається
розширений режим налагодження (див. опис extdebug варіант для магазин
вбудований нижче).
--dump-po-рядки
Дорівнює -D, але вихід у GNU gettext po (переносний об’єкт).
Формат.
--дамп-рядки
Дорівнює -D.
--допомога Відобразити повідомлення про використання на стандартному виводі та успішно вийти.
--ініціальний файл файл
--rcfile файл
Виконувати команди з файл замість загальносистемного файлу ініціалізації
/etc/bash.bashrc і стандартний особистий файл ініціалізації ~ / .bashrc якщо
оболонка є інтерактивною (див ІНВОКАЦІЯ нижче).

--увійти
Дорівнює -l.

--не редагування
Не використовуйте GNU читальна лінія бібліотека для читання командних рядків, коли оболонка є
інтерактивний.

--непрофільний
Не читайте ні загальносистемний файл запуску / тощо / профіль або будь-який з особистих
файли ініціалізації ~ / .bash_profile, ~/.bash_loginабо ~ / .профіль. За замовчуванням,
бити читає ці файли, коли його викликають як оболонку входу (див ІНВОКАЦІЯ нижче).

--norc Не читайте та не виконуйте загальносистемний файл ініціалізації /etc/bash.bashrc та
особистий файл ініціалізації ~ / .bashrc якщо оболонка інтерактивна. Це
Параметр увімкнено за замовчуванням, якщо оболонка викликається як sh.

--позикс
Змінити поведінку бити де операція за замовчуванням відрізняється від POSIX
стандарт відповідати стандарту (posix режим). Подивитися СМ ТАКОЖ нижче для посилання на
документ, який детально описує, як режим posix впливає на поведінку bash.

--обмежено
Оболонка стає обмеженою (див ОБМЕЖЕНО SHELL нижче).

-багатослівний
Дорівнює -v.

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

АРГУМЕНТИ


Якщо аргументи залишаються після обробки параметра, і ні -c ні -s варіант був
Першим аргументом вважається ім’я файлу, що містить оболонку
команди. Якщо бити викликається таким чином, $0 встановлюється ім’я файлу, а параметр
позиційні параметри встановлюються на решту аргументів. Удар читає і виконує
команди з цього файлу, а потім виходить. Удар's exit status є статусом виходу останнього
команда, що виконується в скрипті. Якщо жодна команда не виконується, статус виходу дорівнює 0. An
спочатку робиться спроба відкрити файл у поточному каталозі, і, якщо файл не знайдено,
потім оболонка шукає каталоги PATH для сценарію.

ІНВОКАЦІЯ


A Логін оболонка є таким, у якого перший символ нульового аргументу є a -, або один з початків
--увійти варіант.

An інтерактивний оболонка запускається без аргументів без параметрів і без аргументів -c варіант
стандартний вхід і помилка якого підключені до клем (як визначено
isatty(3)), або починався з -i варіант. PS1 встановлено і $- includes i if бити is
інтерактивний, що дозволяє сценарію оболонки або файлу запуску перевірити цей стан.

У наступних параграфах описано, як бити виконує свої файли запуску. Якщо будь-який з
файли існують, але не можуть бути прочитані, бити повідомляє про помилку. Тильди розгортаються в іменах файлів
як описано нижче під тильда Розширення в РОЗШИРЕННЯ .

Коли бити викликається як інтерактивна оболонка входу або як неінтерактивна оболонка з
--увійти опція, вона спочатку читає та виконує команди з файлу / тощо / профіль, Якщо це
файл існує. Після прочитання цього файлу він шукає ~ / .bash_profile, ~/.bash_login та
~ / .профіль, у такому порядку, а також читає та виконує команди з першої, яка існує
і читається. The --непрофільний Опція може використовуватися, коли оболонка починає інгібувати
цю поведінку.

Коли оболонка входу виходить, бити читає та виконує команди з файлу ~/.bash_logout,
якщо воно існує.

Коли запускається інтерактивна оболонка, яка не є оболонкою для входу, бити читає і виконує
команди від /etc/bash.bashrc та ~ / .bashrc, якщо ці файли існують. Це може бути загальмовано
за допомогою --norc варіант. --rcfile файл варіант змусить бити читати і виконувати
команди від файл замість /etc/bash.bashrc та ~ / .bashrc.

Коли бити запускається неінтерактивно, щоб запустити сценарій оболонки, наприклад, він шукає
змінна BASH_ENV у середовищі, розширює своє значення, якщо воно там з'являється, і використовує
розгорнуте значення як ім'я файлу для читання та виконання. Удар поводиться так, ніби
була виконана така команда:
якщо [ -n "$BASH_ENV" ]; тоді . "$BASH_ENV"; fi
але значення PATH змінна не використовується для пошуку імені файлу.

If бити викликається з іменем sh, він намагається імітувати поведінку запуску історичних
версії sh якомога ближче, при цьому відповідаючи стандарту POSIX.
При виклику як інтерактивна оболонка входу або неінтерактивна оболонка з --увійти
параметр, він спочатку намагається прочитати та виконати команди з / тощо / профіль та ~ / .профіль,
в такому порядку. The --непрофільний Опція може бути використана для пригнічення цієї поведінки. При виклику
як інтерактивна оболонка з назвою sh, бити шукає змінну ENV, розширює його
значення, якщо воно визначене, і використовує розгорнуте значення як ім’я файлу для читання і
виконувати. Оскільки оболонка, викликана як sh не намагається читати та виконувати команди з
будь-які інші файли запуску, --rcfile варіант не має ефекту. Неінтерактивна оболонка
викликається з ім'ям sh не намагається прочитати інші файли запуску. При виклику
as sh, бити входить posix режим після читання файлів запуску.

Коли бити починається в posix режим, як і в --позикс наступний параметр командного рядка
стандарт POSIX для файлів запуску. У цьому режимі інтерактивні оболонки розширюють ENV
змінна та команди читаються та виконуються з файлу, ім’я якого є розгорнутим
значення. Інші файли запуску не читаються.

Удар намагається визначити, коли він виконується зі стандартним входом, підключеним до a
мережеве підключення, як правило, виконується демоном віддаленої оболонки ршд, Або
демон безпечної оболонки SSHD. Якщо бити визначає, що він виконується таким чином, він читає
і виконує команди з ~ / .bashrc та ~ / .bashrc, якщо ці файли існують і їх можна читати.
Він не зробить цього, якщо буде викликаний як sh, --norc Опція може бути використана для запобігання цьому
поведінка, і --rcfile параметр може використовуватися для примусового читання іншого файлу, але
ні ршд ні SSHD зазвичай викликайте оболонку з цими параметрами або дозволяйте їм бути
вказано.

Якщо оболонка запускається з ідентифікатором ефективного користувача (групи), який не дорівнює дійсному користувачу
(груповий) ідентифікатор та -p параметр не надається, файли запуску не читаються, функції оболонки
не успадковані від навколишнього середовища, МАЛЮКИ, БАШОПТИ, CDPATH та ГЛОБІНОР
змінні, якщо вони з’являються в середовищі, ігноруються, а ефективний ідентифікатор користувача є
встановити справжній ідентифікатор користувача. Якщо -p Параметр надається під час виклику, поведінка запуску
те саме, але ефективний ідентифікатор користувача не скидається.

ВИЗНАЧЕННЯ


Наступні визначення використовуються в решті частини цього документа.
порожній Пробіл або вкладка.
слово Послідовність символів, що розглядається оболонкою як єдине ціле. Також відомий як a
знак.
ім'я A слово що складається лише з буквено-цифрових символів та символів підкреслення та поч
з алфавітним символом або символом підкреслення. Також згадується як ідентифікатор.
метасимвол
Символ, який, якщо його немає в лапках, розділяє слова. Один із наступних:
| & ; ( ) < > простір таб
контроль оператор
A знак що виконує контрольну функцію. Це один із наступних символів:
|| & && ; ;; ( ) | |&

ЗАРЕЗЕРВОВАНИЙ СЛОВА


Зарезервований слова це слова, які мають особливе значення для оболонки. Наступні слова
розпізнаються як зарезервовані, якщо вони не в лапках і перше слово простої команди
(Див. SHELL ГРАМАТИКА нижче) або третє слово а випадок or та цінності команда:

! випадок копрок do зроблений Еліф ще що С fi та цінності функція if in вибрати потім до в той час як { }
час [[ ]]

SHELL ГРАМАТИКА


простий Команди
A простий команда – це послідовність необов’язкових присвоєнь змінних, за якими слідує порожній-
відокремлені слова та перенаправлення та закінчені символом a контроль оператор. Перше слово
визначає команду, яку потрібно виконати, і передається як нульовий аргумент. Решта слів
передаються як аргументи викликаній команді.

Повернене значення a простий команда це його вихідний статус, або 128+n якщо команда є
завершується сигналом n.

Трубопроводи
A трубопровід являє собою послідовність однієї або кількох команд, розділених одним з операторів керування
| or |&. Формат конвеєра:

[час [-p]] [ ! ] команда [ [||&] команда2 ...]

Стандартний вихід команда підключається через трубу до стандартного входу команда2.
Це з’єднання виконується перед будь-якими перенаправленнями, визначеними командою (див
ПЕРЕСпрямування нижче). Якщо |& використовується, команда's стандартна помилка, на додаток до її стандартної
вихід, підключений до команда2стандартний вхід через трубу; це скорочення для
2> & 1 |. Це неявне перенаправлення стандартної помилки на стандартний вихід
виконується після будь-яких перенаправлень, визначених командою.

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

Якщо час зарезервовано слово передує конвеєру, час, що минув, а також час користувача та системи
спожиті на його виконання повідомляються, коли конвеєр закінчується. The -p варіант
змінює вихідний формат на той, який визначено POSIX. Коли оболонка в posix режим, Він
не визнає час як зарезервоване слово, якщо наступна лексема починається з `-'. The
ФОРМАТ ЧАСУ змінна може бути встановлена ​​в рядок формату, який визначає, як синхронізується
інформація повинна бути відображена; дивіться опис ФОРМАТ ЧАСУ при Склад Змінні
нижче.

Коли оболонка в posix режим, час може слідувати новий рядок. У цьому випадку,
shell відображає загальний час користувача та системи, витрачений оболонкою та її дочірніми елементами. The
ФОРМАТ ЧАСУ змінна може використовуватися для визначення формату інформації про час.

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

списки
A список є послідовністю одного або кількох конвеєрів, розділених одним з операторів ;, &, &&,
or ||, і за бажанням закінчується одним із ;, &або .

З цих операторів списку, && та || мають рівний пріоритет, а потім ; та &, які мають
рівний пріоритет.

Послідовність з одного або кількох нових рядків може з’явитися в a список замість крапки з комою для розмежування
команди.

Якщо команда припинена оператором керування &, оболонка виконує команду в
фон у підоболонці. Оболонка не чекає закінчення команди, а
статус повернення дорівнює 0. Команди, розділені символом a ; виконуються послідовно; оболонка чекає
для завершення кожної команди по черзі. Статус повернення є статусом виходу останнього
команда виконана.

Списки І та АБО – це послідовності одного з кількох конвеєрів, розділених символом && та || контроль
операторів, відповідно. Списки І та АБО виконуються з лівою асоціативністю. І
список має вигляд

команда1 && команда2

команда2 виконується тоді і тільки тоді, коли, команда1 повертає нульовий статус виходу.

Список АБО має форму

команда1 || команда2

команда2 виконується тоді і тільки тоді, коли команда1 повертає ненульовий статус виходу. Повернення
статус списків І та АБО – це статус виходу останньої команди, виконаної у списку.

З'єднання Команди
A з'єднання команда є одним із наступних. У більшості випадків а список в команді
опис може бути відділений від решти команди одним або кількома новими рядками, і може
замість крапки з комою слідувати новий рядок.

(список) список виконується в середовищі підоболонки (див КОМАНДА ВИКОНАННЯ НАВКОЛИШНЄ СЕРЕДОВИЩЕ
нижче). Призначення змінних і вбудовані команди, які впливають на оболонку
середовище не залишаються в силі після завершення команди. Статус повернення
є статусом виходу список.

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

((вираз))
Команда вираз оцінюється відповідно до правил, описаних нижче АРИФМЕТИКА
ОЦІНКА. Якщо значення виразу відмінне від нуля, статус повернення дорівнює 0;
інакше статус повернення дорівнює 1. Це точно еквівалентно дозволяти "вираз".

[[ вираз ]]
Повертає статус 0 або 1 залежно від оцінки умовного виразу
вираз. Вирази складаються з основних, описаних нижче
УМОВНІ ВИРАЗИ. Розбиття слів і розширення імені шляху не виконуються
на слова між [[ та ]]; розгортання тильди, параметр і змінна
розширення, арифметичне розширення, підстановка команд, підстановка процесу та
виконується видалення цитат. Умовні оператори, такі як -f має бути не в лапках
бути визнаним праймеріз.

При використанні з [[, < та > оператори сортують лексикографічно за допомогою поточного
місцевий.

Дивіться опис тест вбудована команда (розділ ВБУДОВАНІ КОМАНДІ ОБЛАСНКИ нижче) для
обробка параметрів (тобто відсутні параметри).

Коли == та != використовуються оператори, рядок праворуч від оператора є
розглядається як шаблон і відповідає правилам, описаним нижче Викрійки
Узгодження, нібито extglob було ввімкнено параметр оболонки. The = оператор еквівалентний
==. Якщо варіант оболонки nocasematch увімкнено, збіг виконується без урахування
регістр алфавітних символів. Повертається значення 0, якщо рядок відповідає (==) Або
не підходить (!=) шаблон і 1 інакше. Будь-яку частину шаблону можна процитувати
щоб змусити частину в лапках порівняти як рядок.

Додатковий двійковий оператор, =~, доступний з тим самим пріоритетом, що й == та !=.
Коли він використовується, рядок праворуч від оператора вважається розширеним регулярним
вираз і відповідне відповідність (як у regex(3)). Повертається значення 0, якщо рядок
відповідає шаблону, а 1 інакше. Якщо регулярний вираз синтаксично
неправильний, умовний вираз повертає значення 2. Якщо параметр оболонки
nocasematch увімкнено, збіг виконується без урахування регістру алфавіту
символів. Будь-яка частина шаблону може бути введена в лапки, щоб змусити процитована частина бути
збігається як рядок. Вирази в дужках у регулярних виразах необхідно розглядати
обережно, оскільки звичайні символи цитування втрачають своє значення між дужками. Якщо
шаблон зберігається у змінній оболонки, цитуючи змінну, що розширює сили
шаблон, який потрібно зіставити як рядок. Підрядки, які відповідають підвиразам у дужках
в межах регулярного виразу зберігаються у змінній масиву BASH_REMATCH. Елемент
of BASH_REMATCH з індексом 0 - це частина рядка, що відповідає всьому регулярному
вираз. Елемент BASH_REMATCH з індексом n це частина рядка
відповідність nй підвираз у дужках.

Вирази можна об’єднати за допомогою наступних операторів, перерахованих у порядку зменшення
пріоритет:

( вираз )
Повертає значення вираз. Це може бути використано для заміни звичайного
пріоритет операторів.
! вираз
Правда, якщо вираз неправдиво.
вираз1 && вираз2
Правда, якщо обидва вираз1 та вираз2 правдиві.
вираз1 || вираз2
Правда, якщо так вираз1 or вираз2 правда.

Команда && та || оператори не оцінюють вираз2 якщо значення вираз1 is
достатньо для визначення значення, що повертається для всього умовного виразу.

та цінності ім'я [ [ in [ слово ... ] ] ; ] do список ; зроблений
Список слів нижче in розгортається, створюється список елементів. The
змінна ім'я встановлюється для кожного елемента цього списку по черзі, і список виконується
щоразу. Якщо in слово опущено, та цінності виконується команда список один раз для кожного
встановлений позиційний параметр (див ПАРАМЕТРИ нижче). Статус повернення – це
статус виходу з останньої виконаної команди. Якщо розширення пунктів
після in призводить до порожнього списку, команди не виконуються і повертається
статус 0.

та цінності (( вираз 1 ; вираз 2 ; вираз 3 )) ; do список ; зроблений
По-перше, арифметичний вираз вираз 1 оцінюється за правилами
описані нижче під АРИФМЕТИКА ОЦІНКА. Арифметичний вираз вираз 2 is
потім оцінюється неодноразово, доки не досягне нуля. Щоразу вираз 2 оцінює до
ненульове значення, список виконується і арифметичний вираз вираз 3 is
оцінено. Якщо будь-який вираз опущено, він веде себе так, ніби має значення 1. The
Повернене значення — це статус завершення останньої команди список що виконується, або
false, якщо будь-який із виразів недійсний.

вибрати ім'я [ in слово ]; do список ; зроблений
Список слів нижче in розгортається, створюючи список елементів. Набір з
розгорнуті слова друкуються на стандартній помилці, кожному передує цифра. Якщо
in слово пропущено, параметри позиції друкуються (див ПАРАМЕТРИ нижче).
Команда PS3 потім відображається підказка і рядок зчитується зі стандартного введення. Якщо
рядок складається з числа, що відповідає одному з відображуваних слів, потім з
Значення ім'я встановлено на це слово. Якщо рядок порожній, слова та підказка є
знову відображається. Якщо EOF прочитано, команда завершується. Будь-яке інше прочитане значення
Причини ім'я встановити значення null. Прочитаний рядок зберігається у змінній ВІДПОВІДЬ,
список виконується після кожного вибору, доки a перерву виконується команда. Вихід
статус вибрати це статус завершення останньої команди, виконаної в список, або нуль
якщо жодна команда не була виконана.

випадок слово in [ [(] модель [ | модель ] ...) список ;; ] ... що С
A випадок команда спочатку розгортається слово, і намагається порівняти його з кожним модель in
поворот, використовуючи ті ж правила збігу, що й для розширення імені шляху (див Шлях
Розширення нижче). The слово розгортається за допомогою розширення тильди, параметра і
розширення змінної, арифметична підстановка, підстановка команд, процес
підміна та видалення цитат. Кожен модель розглянутий розгорнутий за допомогою тильди
розгортання, розширення параметрів і змінних, арифметична підстановка, команда
заміщення та заміщення процесу. Якщо варіант оболонки nocasematch is
увімкнено, збіг виконується без урахування регістру алфавіту
символів. Коли збіг знайдено, відповідне список виконується. Якщо ;;
використовується оператор, жодні наступні збіги не здійснюються після першого шаблону
матч. Використання ;& замість ;; призводить до продовження виконання список
пов'язані з наступним набором візерунків. Використання ;;& замість ;; причини
оболонку, щоб перевірити наступний список шаблонів у операторі, якщо він є, і виконати будь-який
асоційований список на вдалий матч. Статус виходу дорівнює нулю, якщо шаблон відсутній
сірники. В іншому випадку це статус виходу з останньої виконаної команди список.

if список; потім список; [ Еліф список; потім список; ] ... [ ще список; ] fi
Команда if список виконується. Якщо його статус виходу дорівнює нулю, то потім список виконується.
Інакше кожен Еліф список виконується по черзі, і якщо його статус виходу дорівнює нулю, то
відповідний потім список виконується, і команда завершується. В іншому випадку, ще
список виконується, якщо є. Статус виходу – це статус виходу останнього
команда виконана або нуль, якщо умова не перевірена.

в той час як список-1; do список-2; зроблений
до список-1; do список-2; зроблений
Команда в той час як команда постійно виконує список список-2 до останньої команди
у списку список-1 повертає нульовий статус виходу. The до команда ідентична
до в той час як команда, за винятком того, що тест заперечується; список-2 виконується так довго
як остання команда в список-1 повертає ненульовий статус виходу. Вихідний статус
в той час як та до commands — це статус завершення останньої команди, виконаної в
список-2, або нуль, якщо жодного не було виконано.

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

Формат спільного процесу:

копрок [ІМ'Я] команда [переадресовує]

Це створює спільний процес з ім ІМ'Я. Якщо ІМ'Я не надається, ім’я за замовчуванням є COPROC.
ІМ'Я не слід надавати, якщо команда це простий команда (Дивись вище); інакше це так
інтерпретується як перше слово простої команди. Коли спільний процес виконується,
shell створює змінну масиву (див Масиви нижче) названий ІМ'Я в контексті
виконуюча оболонка. Стандартний вихід команда з'єднується через трубу з файлом
дескриптор у виконуючій оболонці, і цей дескриптор файлу призначений ІМ'Я[0]. The
стандартне введення команда з'єднується через канал з дескриптором файлу у виконанні
оболонки, і цей дескриптор файлу призначений ІМ'Я[1]. Ця труба встановлюється раніше
будь-які перенаправлення, визначені командою (див ПЕРЕСпрямування нижче). Дескриптори файлів
можна використовувати як аргументи для команд оболонки та перенаправлень за допомогою стандартного слова
розширення. Дескриптори файлів недоступні у підоболонках. Ідентифікатор процесу
оболонка, створена для виконання спільного процесу, доступна як значення змінної ІМ'Я_PID.
Команда чекати вбудовану команду можна використовувати для очікування завершення спільного процесу.

Оскільки співпроцес створюється як асинхронна команда, то копрок команда завжди
повертає успіх. Статус повернення спільного процесу є статусом виходу команда.

Склад функція Визначення
Функція оболонки – це об’єкт, який викликається як проста команда і виконує з’єднання
команда з новим набором позиційних параметрів. Функції оболонки оголошуються наступним чином:

ім'я () складно-командний [перенаправлення]
функція ім'я [()] складно-командний [перенаправлення]
Це визначає функцію з іменем ім'я. Заповідне слово функція є необов'язковим. Якщо
функція зарезервоване слово надається, дужки необов’язкові. The тіло of
функцією є складена команда складно-командний (Див. З'єднання Команди
вище). Зазвичай ця команда є a список команд між { і }, але можуть бути будь-якими
команда, перелічена під З'єднання Команди вище. складно-командний виконується
коли б ні ім'я задається як ім'я простої команди. Коли в posix режим,
ім'я може не бути ім'ям одного з POSIX спеціальний вбудовані. Будь-які перенаправлення
(Див. ПЕРЕСпрямування нижче), зазначені, коли функція визначена, виконуються, коли
виконується функція. Статус завершення визначення функції дорівнює нулю, якщо a
виникає синтаксична помилка або вже існує функція лише для читання з такою ж назвою. Коли
Після виконання, статус завершення функції є статусом завершення останньої команди
виконується в тілі. (Побачити ФУНКЦІЇ нижче.)

КОМЕНТАРІ


В неінтерактивній оболонці або інтерактивній оболонці, в якій інтерактивні_коментарі
варіант для магазин вбудована функція ввімкнена (див SHELL Вбудований КОМАНДИ нижче), слово
починаючи з # призводить до ігнорування цього слова та всіх символів, що залишилися в цьому рядку.
Інтерактивна оболонка без інтерактивні_коментарі увімкнений параметр не дозволяє
коментарі. The інтерактивні_коментарі Опція ввімкнена за замовчуванням в інтерактивних оболонках.

ЦИТАТИ


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

кожен з метахарактеристики перераховані вище під ВИЗНАЧЕННЯ має особливе значення для оболонки
і має бути процитований, якщо він представляє себе.

Коли використовуються засоби розширення історії команд (див ІСТОРІЯ РОЗШИРЕННЯ
нижче). історія розширення характер, як правило !, необхідно процитувати, щоб запобігти історії
розширення.

Існує три механізми цитування: бігти характер, одинарні лапки та подвійні
цитати.

Зворотний слеш без лапок (\) Є бігти характер. Він зберігає буквальне значення
наступний символ, що слідує, за винятком . Якщо \пара
з’являється, а зворотна коса риска сама по собі не в лапках, \розглядається як лінія
продовження (тобто воно видаляється з вхідного потоку та фактично ігнорується).

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

Включення символів у подвійні лапки зберігає буквальне значення всіх символів всередині
цитати, за винятком $, `, \, а коли увімкнено розширення історії, !,
символи $ та ` зберігають своє особливе значення в подвійних лапках. Зворотна коса риса
зберігає своє особливе значення лише тоді, коли за ним йде один із наступних символів: $, `,
", \або . Подвійні лапки можна вводити в лапки, передуючи їм
із зворотною косою рискою. Якщо ввімкнено, розширення історії виконуватиметься, якщо не буде ввімкнено ! з'являються
у подвійних лапках екранується за допомогою зворотної косої риски. Зворотна коса риска перед символом ! НЕ
вилучено

Спеціальні параметри * та @ мають особливе значення у подвійних лапках (див ПАРАМЕТРИ
нижче).

Слова форми $'рядок' обробляються спеціально. Слово розширюється до рядок, С
Символи з зворотною косою рискою замінені відповідно до стандарту ANSI C. Зворотна коса риса
escape-послідовності, якщо вони є, декодуються наступним чином:
\a сповіщення (дзвінок)
\b повернення на одну позицію
\e
\E втечний символ
\f форма корму
\n нова лінія
\r повернення вагона
\t горизонтальна вкладка
\v вертикальна вкладка
\\ зворотний слеш
\' одинарна лапка
\" подвійна цитата
\NNN восьмирозрядний символ, значення якого є вісімковим NNN (один до трьох
цифри)
\xHH восьмирозрядний символ, значення якого є шістнадцятковим HH (один або два
шістнадцяткові цифри)
\uХе-е-е символ Unicode (ISO/IEC 10646), значення якого є шістнадцятковим
Хе-е-е (від однієї до чотирьох шістнадцяткових цифр)
\UХХХХХХХХ
символ Unicode (ISO/IEC 10646), значення якого є шістнадцятковим
ХХХХХХХХ (від однієї до восьми шістнадцяткових цифр)
\cx контроль-x характер

Розгорнутий результат береться в одинарних лапках, ніби не було знака долара.

Рядок у подвійних лапках, перед яким стоїть знак долара ($"рядок") призведе до того, що рядок буде
перекладено відповідно до поточного мовного стандарту. Якщо поточний мовний стандарт C or POSIX,
знак долара ігнорується. Якщо рядок перекладено та замінено, заміна є
подвійні лапки.

ПАРАМЕТРИ


A параметр є сутністю, яка зберігає цінності. Це може бути а ім'я, число або один із
спеціальні символи, наведені нижче спеціальний параметри. змінна є параметром
позначається а ім'я. Змінна має a значення і нуль або більше Атрибути. Атрибути є
призначається за допомогою декларувати вбудована команда (див декларувати нижче в SHELL Вбудований КОМАНДИ).

Параметр встановлюється, якщо йому було призначено значення. Нульовий рядок є дійсним значенням.
Після встановлення змінної її можна скасувати лише за допомогою скасовано вбудована команда (див SHELL
Вбудований КОМАНДИ нижче).

A змінна може бути присвоєно заявою за формою

ім'я=[значення]

If значення не дається, змінній присвоюється нульовий рядок. всі величини пройти тильду
розширення, розширення параметрів і змінних, заміна команд, арифметичне розширення,
і видалення цитат (див РОЗШИРЕННЯ нижче). Якщо змінна має свою ціле набір атрибутів,
потім значення оцінюється як арифметичний вираз, навіть якщо розширення $((...)) ні
використовується (див Арифметика Розширення нижче). Розбиття слів не виконується, з
виняток "$@" як пояснюється нижче під спеціальний параметри. Розширення імені шляху не є
виконано. Оператори присвоєння також можуть відображатися як аргументи для псевдонім, декларувати,
набірний, експорт, лише для читання та місцевий вбудовані команди. Коли в posix режим, ці вбудовані модулі
може з’являтися в команді після одного або кількох екземплярів команда вбудувати та зберегти
ці властивості оператора присвоєння.

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

Змінній можна призначити nameref атрибут за допомогою -n варіант для декларувати or
місцевий вбудовані команди (див. описи декларувати та місцевий нижче), щоб створити a
namerefабо посилання на іншу змінну. Це дозволяє маніпулювати змінними
опосередковано. Кожного разу, коли на змінну nameref посилаються або призначаються, операція виконується
фактично виконується для змінної, визначеної значенням змінної nameref. Ім'я
зазвичай використовується у функціях оболонки для посилання на змінну, ім'я якої передається як
аргумент функції. Наприклад, якщо ім'я змінної передається функції оболонки
як його перший аргумент, біг
оголосити -n ref=$1
всередині функції створює змінну nameref посилання значенням якого є ім'я змінної, що передається
як перший аргумент. Посилання та завдання до посилання розглядаються як посилання та
присвоєння змінній, ім'я якої було передано як $1. Якщо керуюча змінна в a та цінності
цикл має атрибут nameref, список слів може бути списком змінних оболонки, і a
Посилання на ім’я буде встановлено для кожного слова в списку, по черзі, коли буде цикл
виконано. Змінні масиву не можуть бути задані -n атрибут. Однак змінні nameref
може посилатися на змінні масиву та змінні масиву з індексом. Nameref можна скасувати
використання -n варіант для скасовано вбудований. Інакше, якщо скасовано виконується з іменем
змінної nameref як аргумент, змінна, на яку посилається змінна nameref, буде
бути неналаштованим.

Позиційний параметри
A позиційний параметр це параметр, що позначається однією або кількома цифрами, крім одиничної
цифра 0. Параметри позиції призначаються з аргументів оболонки, коли це так
викликаний і може бути перепризначений за допомогою комплект вбудована команда. Позиційні параметри можуть
не призначається з операторами присвоєння. Позиційні параметри є тимчасовими
замінюється, коли виконується функція оболонки (див ФУНКЦІЇ нижче).

Коли позиційний параметр, що складається з більш ніж однієї цифри, розгортається, він має бути розширений
укладені в дужки (див РОЗШИРЕННЯ нижче).

спеціальний параметри
Оболонка спеціально обробляє кілька параметрів. На ці параметри можна лише посилатися;
приписування їм не допускається.
* Розгортається до позиційних параметрів, починаючи з одиниці. Коли розширення немає
у подвійних лапках кожен параметр позиції розгортається до окремого слова. в
контекстах, де воно виконується, ці слова підлягають подальшому розщепленню слів
і розширення імені шляху. Коли розширення відбувається в подвійних лапках, воно розгортається
до одного слова зі значенням кожного параметра, розділеним першим символом
в IFS спеціальна змінна. Тобто, "$*"еквівалентно"$1c$2c...", де c
є першим символом значення IFS змінний. Якщо IFS не встановлено,
параметри розділені пробілами. Якщо IFS має значення null, параметри об’єднані
без проміжних роздільників.
@ Розгортається до позиційних параметрів, починаючи з одиниці. Коли відбувається розширення
у подвійних лапках кожен параметр розгортається до окремого слова. Тобто, "$@"is
дорівнює "$1""$2" ... Якщо розгортання подвійних лапок відбувається в межах слова,
розширення першого параметра з'єднується з початковою частиною
вихідне слово, а розширення останнього параметра поєднується з останньою частиною
оригінального слова. Коли немає позиційних параметрів, "$@$@ Розширювати
ні на що (тобто їх видаляють).
# Розгортається до кількості позиційних параметрів у десятковій системі.
? Розгортається до стану виходу останнього виконаного конвеєра переднього плану.
- Розгортається до поточних прапорів параметрів, як зазначено під час виклику, за допомогою комплект
вбудовану команду або ті, які встановлені самою оболонкою (наприклад, файл -i варіант).
$ Розгортається до ідентифікатора процесу оболонки. У підоболонці () вона розгортається до
ID процесу поточної оболонки, а не підоболонки.
! Розгортається до ідентифікатора процесу останнього розміщеного у фоновому режимі,
чи виконується як асинхронна команда чи з використанням bg вбудований (див РОБОТА
КОНТРОЛЬ нижче).
0 Розгортається до імені оболонки або сценарію оболонки. Це встановлено в shell
ініціалізація. Якщо бити викликається файлом команд, $0 встановлюється ім’я
цього файлу. Якщо бити починається з -c тоді варіант $0 встановлюється на перше
аргумент після рядка, який потрібно виконати, якщо він присутній. В іншому випадку він встановлюється
до імені файлу, який використовується для виклику бити, як дається нульовим аргументом.
_ Під час запуску оболонки встановіть абсолютний шлях, який використовується для виклику оболонки або оболонки
сценарій виконується як передано в середовищі або списку аргументів. згодом,
розгортається до останнього аргументу попередньої команди після розширення. Також встановлено на
повне ім’я шляху, яке використовується для виклику кожної команди, що виконується та розміщується в
середовище експортується до цієї команди. Під час перевірки пошти цей параметр зберігає значення
ім'я поштового файлу, який зараз перевіряється.

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

BASH Розгортається до повного імені файлу, який використовується для виклику цього екземпляра бити.
БАШОПТИ
Список увімкнених параметрів оболонки, розділений двокрапкою. Кожне слово у списку є дійсним
аргумент для -s варіант для магазин вбудована команда (див SHELL Вбудований КОМАНДИ
нижче). Параметри, що з’являються в БАШОПТИ є такими, як on by магазин. Якщо
ця змінна знаходиться в середовищі, коли бити запускається, кожен параметр оболонки в
список буде активовано перед читанням файлів запуску. Ця змінна доступна лише для читання.
БАШПІД
Розгортається до ідентифікатора поточного процесу бити процес. Це відрізняється від $$ при
певні обставини, наприклад, підоболонки, які не потребують бити бути повторно
ініціалізовано.
BASH_ALIASES
Змінна асоціативного масиву, члени якої відповідають внутрішньому списку
псевдоніми, як це підтримується псевдонім вбудований. Елементи, додані до цього масиву, відображаються в
список псевдонімів; Зняття елементів масиву призводить до видалення псевдонімів із псевдоніма
список
BASH_ARGC
Змінна масиву, значення якої є кількістю параметрів у кожному кадрі
ток бити стек викликів виконання. Кількість параметрів поточного
підпрограма (функція оболонки або сценарій, що виконується за допомогою . or джерело) знаходиться у верхній частині
стек. Коли виконується підпрограма, кількість переданих параметрів дорівнює
штовхнув на BASH_ARGC. Снаряди схоплюються BASH_ARGC тільки під час розширеного налагодження
режим (див. опис extdebug варіант для магазин вбудований нижче)
BASH_ARGV
Змінна масиву, що містить усі параметри поточного бити виконання
стек викликів. Останній параметр останнього виклику підпрограми знаходиться у верхній частині
стек; перший параметр початкового виклику знаходиться внизу. Коли підпрограма
виконується, введені параметри натискаються на BASH_ARGV. Снаряди схоплюються
BASH_ARGV тільки в режимі розширеного налагодження (див. опис extdebug
варіант для магазин вбудований нижче)
BASH_CMDS
Змінна асоціативного масиву, члени якої відповідають внутрішній хеш-таблиці
команд, які підтримується мішанина вбудований. З’являться елементи, додані до цього масиву
в хеш-таблиці; Скасування елементів масиву призводить до видалення команд із файлу
хеш-таблиця.
BASH_COMMAND
Команда, яка в даний момент виконується або має бути виконана, якщо не виконується оболонка
виконання команди в результаті пастки, у цьому випадку це команда
виконання під час пастки.
BASH_EXECUTION_STRING
Аргумент команди для -c варіант виклику.
BASH_LINENO
Змінна масиву, членами якої є номери рядків у вихідних файлах, де кожен
член-кореспондент FUNCNAME був викликаний. ${BASH_LINENO[$i]} це лінія
номер у вихідному файлі (${BASH_SOURCE[$i+1]}) куди ${FUNCNAME[$i]} називався
(Або ${BASH_LINENO[$i-1]} якщо на нього посилаються в іншій функції оболонки). Використовуйте LINENO
щоб отримати поточний номер рядка.
BASH_REMATCH
Змінна масиву, члени якої призначаються =~ двійковий оператор до [[
умовна команда. Елемент з індексом 0 є частиною рядка
відповідність всьому регулярному виразу. Елемент з індексом n є частиною
рядок, що відповідає nй підвираз у дужках. Ця змінна читається-
тільки.
BASH_SOURCE
Змінна масиву, членами якої є вихідні імена файлів, де відповідні
назви функцій оболонки в FUNCNAME визначено змінну масиву. Оболонка
функція ${FUNCNAME[$i]} визначено у файлі ${BASH_SOURCE[$i]} і дзвонив з
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
Збільшується на один у кожній підоболонці або середовищі підоболонки, коли оболонка
починає виконуватися в цьому середовищі. Початкове значення 0.
BASH_VERSINFO
Змінна масиву лише для читання, члени якої містять інформацію про версію для цього екземпляра
of бити. Членам масиву призначаються такі значення:
BASH_VERSINFO[0] Основний номер версії ( звільнити).
BASH_VERSINFO[1] Додатковий номер версії ( версія).
BASH_VERSINFO[2] Рівень патча.
BASH_VERSINFO[3] Версія збірки.
BASH_VERSINFO[4] Статус випуску (наприклад, beta1).
BASH_VERSINFO[5] Значення МАЧТИП.
BASH_VERSION
Розгортається до рядка, що описує версію цього екземпляра бити.
COMP_CWORD
Індекс у ${COMP_WORDS} слова, що містить поточну позицію курсору.
Ця змінна доступна лише у функціях оболонки, викликаних програмованим
об'єкти завершення (див Програмований Завершення нижче).
COMP_KEY
Ключ (або кінцевий ключ послідовності клавіш), який використовується для виклику поточного завершення
функції.
COMP_LINE
Поточний командний рядок. Ця змінна доступна лише у функціях оболонки та
зовнішні команди, які викликаються програмованими засобами завершення (див
Програмований Завершення нижче).
COMP_POINT
Індекс поточної позиції курсора відносно початку поточного
команда. Якщо поточна позиція курсору знаходиться в кінці поточної команди, то
значення цієї змінної дорівнює ${#COMP_LINE}. Ця змінна доступна лише
у функціях оболонки та зовнішніх командах, викликаних програмованим завершенням
засоби (див Програмований Завершення нижче).
COMP_TYPE
Встановити ціле значення, що відповідає типу спроби завершення
викликав функцію завершення: TAB, для нормального завершення, ?, Для
перелік завершення після послідовних вкладок, !, для переліку альтернатив на частковому
завершення слова, @, щоб перерахувати завершення, якщо слово не змінене, або %, Для
завершення меню. Ця змінна доступна лише у функціях оболонки та зовнішніх
команди, які викликаються програмованими засобами завершення (див Програмований
Завершення нижче).
COMP_WORDBREAKS
Набір символів, який читальна лінія бібліотека розглядає як роздільники слів, коли
виконання доповнення слів. Якщо COMP_WORDBREAKS не встановлено, він втрачає свою особливість
властивостей, навіть якщо їх згодом скинути.
COMP_WORDS
Змінна масиву (див Масиви нижче), що складається з окремих слів у
поточний командний рядок. Рядок розбивається на слова як читальна лінія розділив би його,
використання COMP_WORDBREAKS як описано вище. Ця змінна доступна тільки в оболонці
функції, які викликаються програмованими засобами завершення (див Програмований
Завершення нижче).
COPROC Змінна масиву (див Масиви нижче), створений для зберігання дескрипторів файлів для
вихід із неіменованого співпроцесу та введення до нього (див Співпроцеси вище).
DIRSTACK
Змінна масиву (див Масиви нижче), що містить поточний вміст
стек каталогів. Каталоги з'являються в стеку в тому порядку, в якому вони відображаються
по диски вбудований. Призначення членам цього масиву змінної може використовуватися для
змінювати каталоги, які вже є в стеку, але Pushd та POPD повинні бути вбудовані
використовується для додавання та видалення каталогів. Призначення цієї змінної не зміниться
поточний каталог. Якщо DIRSTACK не встановлено, він навіть втрачає свої особливі властивості
якщо його згодом скинути.
EUID Розгортається до ефективного ідентифікатора користувача поточного користувача, ініціалізованого під час запуску оболонки.
Ця змінна доступна лише для читання.
FUNCNAME
Змінна масиву, що містить імена всіх функцій оболонки, які на даний момент знаходяться в
стек викликів виконання. Елемент з індексом 0 є назвою будь-якого поточного
виконання функції оболонки. Найнижчий елемент (з найвищим індексом)
є «основним». Ця змінна існує лише тоді, коли виконується функція оболонки.
Завдання до FUNCNAME не впливають і повертають статус помилки. Якщо FUNCNAME is
не налаштований, він втрачає свої особливі властивості, навіть якщо його згодом скинути.

Цю змінну можна використовувати з BASH_LINENO та BASH_SOURCE. Кожен елемент з
FUNCNAME має відповідні елементи в BASH_LINENO та BASH_SOURCE описати
стек викликів. Наприклад, ${FUNCNAME[$i]} викликано з файлу
${BASH_SOURCE[$i+1]} за номером рядка ${BASH_LINENO[$i]}, гість вбудований
відображає поточний стек викликів, використовуючи цю інформацію.
ГРУПИ Змінна масиву, що містить список груп, до яких належить поточний користувач
член. Завдання до ГРУПИ не впливають і повертають статус помилки. Якщо
ГРУПИ не налаштований, він втрачає свої особливі властивості, навіть якщо його згодом скинути.
HISTCMD
Номер історії або індекс у списку історії поточної команди. Якщо
HISTCMD не налаштований, він втрачає свої особливі властивості, навіть якщо згодом це станеться
скинути.
ІМЯ ГОСПОДА
Автоматично встановити ім’я поточного хоста.
HOSTTYPE
Автоматично встановити рядок, який однозначно описує тип машини, на якій
бити виконується. За замовчуванням залежить від системи.
LINENO Кожен раз, коли посилається на цей параметр, оболонка замінює десяткове число
представляє поточний послідовний номер рядка (починаючи з 1) у сценарії
або функція. Якщо немає в скрипті чи функції, замінене значення не є
гарантовано матиме зміст. Якщо LINENO не налаштований, він втрачає свої особливі властивості,
навіть якщо його згодом скинути.
МАЧТИП
Автоматично встановлюється рядок, який повністю описує тип системи, на якій бити is
виконання, у стандартному GNU CPU-компанія-система формат. За замовчуванням є системна-
залежний.
КАРТОВИЙ ФАЙЛ
Змінна масиву (див Масиви нижче), створений для утримання тексту, прочитаного файл карти
вбудований, якщо ім'я змінної не вказано.
OLDPWD Попередній робочий каталог, встановлений файлом cd команда
OPTARG Значення останнього аргументу параметра, обробленого getopts вбудована команда (див
SHELL Вбудований КОМАНДИ нижче).
OPTIND Індекс наступного аргументу, який буде оброблено getopts вбудована команда (див
SHELL Вбудований КОМАНДИ нижче).
OSTYPE Автоматично встановити рядок, який описує операційну систему, на якій бити is
виконання. За замовчуванням залежить від системи.
ПІПЕСТАТУС
Змінна масиву (див Масиви нижче), що містить список значень статусу виходу з
процеси в останньому виконаному конвеєрі переднього плану (який може містити
лише одна команда).
PPID Ідентифікатор процесу батьківської оболонки. Ця змінна доступна лише для читання.
PWD Поточний робочий каталог, встановлений файлом cd команда
RANDOM Кожного разу, коли посилається на цей параметр, буде випадкове ціле число від 0 до 32767
згенеровано. Послідовність випадкових чисел може бути ініціалізована шляхом присвоєння значення
до RANDOM. Якщо RANDOM не встановлений, він втрачає свої особливі властивості, навіть якщо це так
згодом скинути.
READLINE_LINE
Зміст читальна лінія буфер рядка, для використання з "bind -x" (див SHELL Вбудований
КОМАНДИ нижче).
READLINE_POINT
Положення точки введення в читальна лінія буфер рядка, для використання з "bind
-x» (див SHELL Вбудований КОМАНДИ нижче).
ВІДПОВІДЬ Встановити на рядок введення, який читає зчитування вбудована команда, коли немає аргументів
постачається.
СЕКУНДИ
Кожного разу, коли посилається на цей параметр, кількість секунд, що пройшли після оболонки
виклик повертається. Якщо присвоєно значення СЕКУНДИ, значення, яке повертається
наступні посилання – це кількість секунд з моменту присвоєння плюс значення
призначений. Якщо СЕКУНДИ не встановлений, він втрачає свої особливі властивості, навіть якщо це так
згодом скинути.
МАЛЮКИ
Список увімкнених параметрів оболонки, розділений двокрапкою. Кожне слово у списку є дійсним
аргумент для -o варіант для комплект вбудована команда (див SHELL Вбудований КОМАНДИ
нижче). Параметри, що з’являються в МАЛЮКИ є такими, як on by комплект -o. Якщо
ця змінна знаходиться в середовищі, коли бити запускається, кожен параметр оболонки в
список буде активовано перед читанням файлів запуску. Ця змінна доступна лише для читання.
ШЛВЛ Збільшується на один кожен раз, коли екземпляр бити розпочато.
UID Розгортається до ідентифікатора користувача поточного користувача, ініціалізованого під час запуску оболонки. Це
змінна тільки для читання.

Наведені нижче змінні використовуються оболонкою. У деяких випадках, бити призначає значення за замовчуванням
значення змінної; ці випадки наведені нижче.

BASH_COMPAT
Значення використовується для встановлення рівня сумісності оболонки. Дивіться опис
магазин вбудований нижче під SHELL Вбудований КОМАНДИ для опису
різні рівні сумісності та їх наслідки. Значенням може бути десяткове число
(наприклад, 4.2) або ціле число (наприклад, 42), що відповідає бажаній сумісності
рівень. Якщо BASH_COMPAT не встановлено або встановлено порожній рядок, рівень сумісності
встановлено за замовчуванням для поточної версії. Якщо BASH_COMPAT встановлено значення
що не є одним із дійсних рівнів сумісності, оболонка друкує помилку
повідомлення та встановлює рівень сумісності за замовчуванням для поточної версії.
Допустимі рівні сумісності відповідають параметрам сумісності, прийнятим
магазин вбудована, описана нижче (наприклад, compat42 означає, що 4.2 і 42 є
дійсні значення). Поточна версія також є дійсним значенням.
BASH_ENV
Якщо цей параметр встановлено, коли бити виконує сценарій оболонки, його значення
інтерпретується як ім’я файлу, що містить команди для ініціалізації оболонки, як в
~ / .bashrc. Значення BASH_ENV піддається розширенню параметрів, команда
підстановка та арифметичне розширення перед інтерпретацією як ім’я файлу.
PATH не використовується для пошуку отриманого імені файлу.
BASH_XTRACEFD
Якщо встановлено ціле число, що відповідає дійсному дескриптору файлу, бити напише
вивід трасування, згенерований, коли комплект -x увімкнено для цього дескриптора файлу. Файл
дескриптор закривається, коли BASH_XTRACEFD не встановлено або йому присвоєно нове значення.
Вимкнення BASH_XTRACEFD або призначення йому порожнього рядка призводить до виведення трасування
буде надіслано до стандартної помилки. Зверніть увагу на це налаштування BASH_XTRACEFD до 2 (стандарт
дескриптор файлу помилки), а потім скасування його налаштування призведе до стандартної помилки
закривається.
CDPATH Шлях пошуку для cd команда. Це список каталогів, розділених двокрапкою
в якому оболонка шукає цільові каталоги, зазначені в cd команда
Зразок значення ".:~:/ usr".
CHILD_MAX
Встановіть кількість значень статусу дочірнього виходу, які слід пам’ятати оболонкою. Баш буде
не дозволяти зменшувати це значення нижче мінімального мінімуму, встановленого POSIX, і існує a
максимальне значення (зараз 8192), яке не може перевищувати. Мінімальне значення становить
системно-залежний.
КОЛОНИ
Використовується вибрати складена команда для визначення ширини термінала під час друку
списки вибору. Автоматично встановлювати, якщо checkwinsize увімкнено або в
інтерактивна оболонка після отримання a СІГВІНЧ.
ЗОВНІСТЬ
Змінна масиву, з якої бити зчитує можливі завершення, згенеровані a
функція оболонки, що викликається програмованим засобом завершення (див Програмований
Завершення нижче). Кожен елемент масиву містить одне можливе завершення.
EMACS If бити знаходить цю змінну в середовищі, коли оболонка починається зі значення
"t", він припускає, що оболонка працює в буфері оболонки Emacs і вимикається
редагування рядка.
ENV Як і в BASH_ENV; використовується, коли оболонка викликається в режимі POSIX.
FCEDIT Редактор за замовчуванням для fc вбудована команда.
ФІНЬОР
Список суфіксів, розділених двокрапкою, які слід ігнорувати під час завершення назви файлу
(Див. ЧИТАННЯ нижче). Ім’я файлу, суфікс якого відповідає одному із записів у
ФІНЬОР виключено зі списку відповідних імен файлів. Зразок значення ".o:~"
(Під час призначення значення цій змінній, яка містить тильди, потрібні лапки).
НАЙВЕСЕШІЙ
Якщо встановлено числове значення більше 0, визначає максимальний рівень вкладення функції.
Виклики функцій, які перевищують цей рівень вкладеності, призведуть до виконання поточної команди
перервати.
ГЛОБІНОР
Список шаблонів, розділених двокрапкою, що визначають набір імен файлів, які ігноруються
розширення імені шляху. Якщо ім’я файлу відповідає шаблону розширення шляху
відповідає одному з шаблонів у ГЛОБІНОР, його видаляють зі списку збігів.
ХІСТКОНТРОЛЬ
Відокремлений двокрапкою список значень, що керують тим, як команди зберігаються в історії
список. Якщо список значень містить ігнорувати простір, рядки, які починаються на а простір
символи не зберігаються в списку історії. Значення ігноровані викликає лінії
відповідність попередньому запису історії не буде збережено. Значення ігнорувати обидва is
скорочення для ігнорувати простір та ігноровані. Значення стерті файли викликає всі попередні
рядки, що відповідають поточному рядку, які перед цим потрібно видалити зі списку історії
рядок збережено. Будь-які значення, яких немає у наведеному вище списку, ігноруються. Якщо ХІСТКОНТРОЛЬ is
не встановлено або не містить допустимого значення, усі рядки, зчитовані синтаксичним аналізатором оболонки, є
збережено в списку історії, з урахуванням значення ГІСТИНОР. Другий і
наступні рядки багаторядкової складеної команди не перевіряються, а додаються
історії незалежно від цінності ХІСТКОНТРОЛЬ.
HISTFILE
Ім'я файлу, в якому зберігається історія команд (див ІСТОРІЯ нижче). The
значення за замовчуванням ~/.bash_history. Якщо не встановлено, історія команд не зберігається, коли
виходить оболонка.
HISTFILESIZE
Максимальна кількість рядків у файлі історії. Коли ця змінна є
присвоєне значення, файл історії обрізається, якщо необхідно, щоб більше не містився
більше цієї кількості рядків, видаливши найстаріші записи. Файл історії також
обрізається до цього розміру після його запису при виході з оболонки. Якщо значення дорівнює 0, то
файл історії скорочено до нульового розміру. Нечислові значення та числові значення менше
ніж нуль пригнічує усічення. Оболонка встановлює значення за замовчуванням на значення
HISTSIZE після читання будь-яких файлів запуску.
ГІСТИНОР
Відокремлений двокрапкою список шаблонів, які використовуються для визначення командних рядків
збережено в списку історії. Кожен візерунок закріплюється на початку рядка
і має відповідати повному рядку (без неявного `*' додається). Кожен візерунок є
перевірено на лінії після перевірок, зазначених в ХІСТКОНТРОЛЬ застосовуються. в
на додаток до символів відповідності шаблону звичайної оболонки, `&' відповідає попередньому
лінія історії. `&' можна екранувати за допомогою зворотної косої риски; зворотну косу риску видалено
перед спробою матчу. Другий і наступні рядки багаторядкова
складені команди не перевіряються і додаються до історії незалежно від
Значення ГІСТИНОР.
HISTSIZE
Кількість команд, які потрібно запам’ятати в історії команд (див ІСТОРІЯ нижче). Якщо
значення дорівнює 0, команди не зберігаються в списку історії. Числові значення менше
ніж нуль, кожна команда буде збережена в списку історії (немає
обмеження). Оболонка встановлює значення за замовчуванням на 500 після прочитання будь-яких файлів запуску.
HISTTIMEFORMAT
Якщо ця змінна встановлена ​​і не має значення null, її значення використовується як рядок форматування
strftime(3) для друку позначки часу, пов’язаної з кожним записом історії, який відображається
історія вбудований. Якщо ця змінна встановлена, мітки часу записуються до
файл історії, щоб вони могли зберігатися під час сеансів оболонки. Для цього використовується історія
символ коментаря, щоб відрізнити позначки часу від інших рядків історії.
ГОЛОВНА домашній каталог поточного користувача; аргумент за замовчуванням для cd вбудований
команда. Значення цієї змінної також використовується під час розгортання тильди.
HOSTFILE
Містить назву файлу в тому ж форматі, що й / Etc / хостів це слід прочитати
коли оболонка повинна заповнити ім'я хоста. Список можливих імен хостів
завершення можуть бути змінені під час роботи оболонки; наступного разу ім'я хоста
спроба завершення після зміни значення, бити додає вміст
новий файл до наявного списку. Якщо HOSTFILE встановлено, але не має значення або не має значення
назвати файл, який можна читати, бити спроби читати / Etc / хостів щоб отримати список
можливі доповнення імені хоста. Коли HOSTFILE не встановлено, список імен хостів є
очищено.
IFS Команда Внутрішній Поле сепаратор який використовується для поділу слів після розширення та до
розділити рядки на слова з зчитування вбудована команда. Значення за замовчуванням таке
`` ''.
ІГНОРЕЕФ
Керує дією інтерактивної оболонки при отриманні EOF характер як
єдиний вхід. Якщо встановлено, значення є числом послідовних EOF символи, які
необхідно вводити як перші символи в рядку введення бити виходи. Якщо
змінна існує, але не має числового значення або не має значення за замовчуванням
значення дорівнює 10. Якщо воно не існує, EOF означає кінець введення в оболонку.
INPUTRC
Ім'я файлу для читальна лінія файл запуску, замінюючи значення за замовчуванням ~ / .inputrc
(Див. ЧИТАННЯ нижче).
МОВА Використовується для визначення категорії мовного стандарту для будь-якої категорії, не вибраної спеціально
зі змінною, що починається з LC_.
LC_ALL Ця змінна перевизначає значення МОВА і будь-який інший LC_ змінна, що вказує a
категорія локалі.
LC_COLLATE
Ця змінна визначає порядок зіставлення, який використовується під час сортування результатів
розширення імені шляху та визначає поведінку виразів діапазону, еквівалентність
класи та порівняння послідовностей у межах розширення імен шляху та відповідності шаблону.
LC_CTYPE
Ця змінна визначає інтерпретацію символів і поведінку
класи символів у межах розширення імен шляху та відповідності шаблону.
LC_MESSAGES
Ця змінна визначає локаль, яка використовується для перекладу рядків у подвійних лапках
передує а $.
LC_NUMERIC
Ця змінна визначає категорію мовного стандарту, яка використовується для форматування чисел.
ЛІНІЇ Використовується вибрати складена команда для визначення довжини стовпця для друку
списки вибору. Автоматично встановлювати, якщо checkwinsize увімкнено або в
інтерактивна оболонка після отримання a СІГВІНЧ.
MAIL Якщо для цього параметра встановлено ім’я файлу або каталогу, і MAILPATH змінна є
не встановлено, бити повідомляє користувача про надходження пошти у вказаний файл або
Каталог у форматі Maildir.
ПЕРЕВІРКА ПОШТИ
Визначає, як часто (у секундах) бити перевірки пошти. За замовчуванням – 60 секунд.
Коли настав час перевірити пошту, оболонка робить це, перш ніж відобразити основний
підказка. Якщо ця змінна не встановлена ​​або встановлено значення, яке не є на число більше
ніж або дорівнює нулю, оболонка вимикає перевірку пошти.
MAILPATH
Відокремлений двокрапкою список імен файлів, які потрібно перевірити на наявність пошти. Повідомлення, яке має бути
надрукований, коли пошта надходить у певний файл, можна вказати, розділивши
ім'я файлу з повідомлення з `?'. При використанні в тексті повідомлення, $_
розгортається до імені поточного поштового файлу. приклад:
MAILPATH='/var/mail/bfox?"У вас є пошта":~/shell-mail"$_ має пошту!"'
Удар надає значення за замовчуванням для цієї змінної, але місце розташування електронної пошти користувача
файли, які він використовує, залежать від системи (наприклад, /var/mail/$ USER).
OPTERR Якщо встановлено значення 1, бити відображає повідомлення про помилки, створені getopts
вбудована команда (див SHELL Вбудований КОМАНДИ нижче). OPTERR ініціалізується на 1
кожного разу, коли викликається оболонка або виконується сценарій оболонки.
PATH Шлях пошуку команд. Це список каталогів, розділених двокрапкою
оболонка шукає команди (див КОМАНДА ВИКОНАННЯ нижче). Нульова довжина (нуль)
ім'я каталогу у значенні PATH вказує поточний каталог. Нульовий
Ім'я каталогу може відображатися у вигляді двох сусідніх двокрапок або як початкове або кінцеве
товстої кишки. Шлях за замовчуванням залежить від системи та встановлюється адміністратором, який
встановлює бити. Поширеним значенням є ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ bin:/ sbin''.
POSIXLY_CORRECT
Якщо ця змінна знаходиться в середовищі, коли бити починається, оболонка входить posix
режим перед читанням файлів запуску, як би --позикс був варіант виклику
надається. Якщо він встановлений під час роботи оболонки, бити дозволяє posix режим, неначе
команди комплект -o posix був страчений.
PROMPT_COMMAND
Якщо встановлено, значення виконується як команда перед тим, як видаватиме кожне первинне підказку.
PROMPT_DIRTRIM
Якщо встановлено число, більше нуля, значення використовується як число в кінці
Компоненти каталогу, які потрібно зберегти під час розгортання \w та \W швидкі екранування рядка
(Див. ПІДКАЗАННЯ нижче). Видалені символи замінюються крапками.
PS1 Значення цього параметра розгорнуто (див ПІДКАЗАННЯ нижче) і використовується як
основний рядок підказки. Значенням за замовчуванням є ``\s-\v\$ ''.
PS2 Значення цього параметра розгортається як з PS1 і використовується як вторинний
рядок підказки. За замовчуванням – ``> ''.
PS3 Значення цього параметра використовується як підказка для вибрати команду (див SHELL
ГРАМАТИКА вище).
PS4 Значення цього параметра розгортається як з PS1 і значення друкується раніше
кожну команду бити відображається під час трасування виконання. Перший персонаж PS4
повторюється кілька разів, якщо необхідно, щоб вказати кілька рівнів
опосередкованість. За замовчуванням – ``+ ''.
SHELL Повний шлях до оболонки зберігається в цій змінній середовища. Якщо це не так
встановити, коли запускається оболонка, бити призначає йому повний шлях поточного
оболонка входу користувача.
ФОРМАТ ЧАСУ
Значення цього параметра використовується як рядок формату, що вказує, як синхронізується
інформація для конвеєрів із префіксом час має відображатися зарезервоване слово.
Команда % символ вводить escape-послідовність, яка розширюється до значення часу або
Інша інформація. Escape-послідовності та їх значення такі; в
дужки позначають додаткові частини.
%% Буквальний %.
%[p][l]Р Час, що минув у секундах.
%[p][l]У Кількість секунд ЦП, проведених у режимі користувача.
%[p][l]С Кількість секунд ЦП, проведених у системному режимі.
%P Відсоток ЦП, обчислений як (%U + %S) / %R.

The optional p це цифра, що вказує точність, кількість дробових цифр
після десяткової коми. Значення 0 не означає, що десяткова кома чи дріб не буде
вихід. Можна вказати не більше трьох знаків після десяткової коми; значення p
більше 3 змінюються на 3. Якщо p не вказано, використовується значення 3.

The optional l визначає довший формат, включаючи хвилини, форми MMmSS.FFs.
Значення p визначає, чи включений дріб.

Якщо ця змінна не встановлена, бити діє так, ніби має цінність
$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'. Якщо значення нульове, часу немає
відображається інформація. Кінцевий новий рядок додається, коли є рядок форматування
відображається.
TMOUT Якщо встановлено значення більше нуля, TMOUT розглядається як тайм-аут за замовчуванням для
зчитування вбудований. The вибрати команда припиняється, якщо введення не надходить після
TMOUT секунд, коли вхід надходить з терміналу. В інтерактивній оболонці
значення інтерпретується як кількість секунд для очікування рядка введення
видача первинного підказки. Удар завершується після очікування цієї кількості
секунд, якщо не надходить повний рядок введення.
TMPDIR Якщо встановлено, бити використовує своє значення як ім'я каталогу, в якому бити створює
тимчасові файли для використання оболонкою.
auto_resume
Ця змінна керує тим, як оболонка взаємодіє з користувачем і керуванням завданням. Якщо
ця змінна встановлена, обробляються прості команди з одного слова без перенаправлень
як кандидатів на поновлення на існуючій зупиненій роботі. Немає ніякої двозначності
дозволено; якщо є кілька завдань, які починаються з введеного рядка, завдання
вибрано останній доступ. The ім'я зупиненої роботи в цьому контексті є
командний рядок, який використовується для його запуску. Якщо встановлено значення точний, рядок у комплекті
має точно відповідати назві зупиненої роботи; якщо встановлено на підрядка, рядок
наданий має відповідати підрядку назви зупиненого завдання. The підрядка
значення забезпечує функціональність, аналогічну %? ідентифікатор роботи (див РОБОТА КОНТРОЛЬ
нижче). Якщо встановлено будь-яке інше значення, наданий рядок має бути префіксом a
зупинена назва роботи; це забезпечує функціональність, аналогічну %рядок робота
ідентифікатор.
histchars
Два або три символи, які контролюють розширення історії та токенізацію (див
ІСТОРІЯ РОЗШИРЕННЯ нижче). Перший символ - це історія розширення характер,
символ, який сигналізує про початок розширення історії, зазвичай `!'. The
Другим символом є швидкий заміна символ, який використовується як скорочення
для повторного запуску попередньої введеної команди, замінюючи один рядок іншим
команда. За замовчуванням є `^'. Необов'язковий третій символ - це символ
що вказує, що залишок рядка є коментарем, якщо він знайдений як перший
символ слова, зазвичай `#'. Символ коментаря історії викликає історію
заміна, яку слід пропустити для решти слів у рядку. Це не
обов'язково змушує синтаксичний аналізатор оболонки розглядати решту рядка як коментар.

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

Індексований масив створюється автоматично, якщо будь-яка змінна призначена за допомогою синтаксису
ім'я[індекс]=значення, індекс розглядається як арифметичний вираз, який повинен
оцінити до числа. Щоб явно оголосити індексований масив, використовуйте декларувати -a ім'я (Див.
SHELL Вбудований КОМАНДИ нижче). декларувати -a ім'я[індекс] також прийнято; в індекс
ігнорується.

Асоціативні масиви створюються за допомогою декларувати -A ім'я.

Атрибути можна вказати для змінної масиву за допомогою декларувати та лише для читання вбудовані.
Кожен атрибут застосовується до всіх членів масиву.

Масиви призначаються за допомогою складених присвоєнь форми ім'я=(значення1 ... значенняn),
де кожен значення має форму [індекс]=рядок. Призначення індексованого масиву не виконується
вимагати нічого, крім рядок. При призначенні індексованим масивам, якщо необов’язкові дужки
та нижній індекс, яким присвоєно цей індекс; інакше індекс елемента
assigned – це останній індекс, якому присвоюється оператор плюс один. Індексування починається з
нуль.

Під час призначення асоціативному масиву індекс є обов’язковим.

Цей синтаксис також приймається декларувати вбуд. Окремі елементи масиву можуть бути
призначено використання ім'я[індекс]=значення синтаксис, наведений вище. При призначенні до an
індексований масив, якщо ім'я індексується від’ємним числом, це число інтерпретується як
відносно одиниці, що перевищує максимальний індекс ім'я, тому від’ємні індекси повертаються
з кінця масиву, а індекс -1 посилається на останній елемент.

На будь-який елемент масиву можна посилатися за допомогою ${ім'я[індекс]}. Брекети є
необхідно, щоб уникнути конфліктів із розширенням імені шляху. Якщо індекс is @ or *, слово
поширюється на всіх членів ім'я. Ці індекси відрізняються лише тоді, коли слово з’являється всередині
подвійні лапки. Якщо слово в подвійних лапках, ${ім'я[*]} розгортається до одного слова за допомогою
значення кожного члена масиву, розділене першим символом IFS спеціальна змінна,
і ${ім'я[@]} розгортає кожен елемент ім'я до окремого слова. Коли немає масиву
члени, ${ім'я[@]} розгортається до нічого. Якщо розширення в подвійні лапки відбувається в межах a
слово, розширення першого параметра з’єднується з початковою частиною
вихідне слово, а розширення останнього параметра поєднується з останньою частиною
оригінальне слово. Це аналогічно розширенню спеціальних параметрів * та @ (Див.
спеціальний параметри вище). ${#ім'я[індекс]} розширюється до довжини
${ім'я[індекс]}. Якщо індекс is * or @, розширення – це кількість елементів у
масив. Посилання на змінну масиву без індексу еквівалентно посиланню
масив з індексом 0. Якщо індекс використовується для посилання на елемент an
індексований масив обчислюється як число менше нуля, воно інтерпретується як відносно одиниці
більше, ніж максимальний індекс масиву, тому від’ємні індекси відраховуються з кінця
масиву, а індекс -1 посилається на останній елемент.

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

Можна отримати ключі (індекси) масиву, а також значення.
${!ім'я[@]} і ${!ім'я[*]} розгорнути до індексів, призначених у змінній масиву ім'я,
обробка в подвійних лапках схожа на розширення спеціальних параметрів @
та * у подвійних лапках.

Команда скасовано Вбудована функція використовується для знищення масивів. скасовано ім'я[індекс] знищує масив
елемент за індексом індекс. Від’ємні індекси до індексованих масивів інтерпретуються як
описано вище. Необхідно дотримуватись обережності, щоб уникнути небажаних побічних ефектів, спричинених ім’ям шляху
розширення. скасовано ім'я, Де ім'я є масивом або скасовано ім'я[індекс], де індекс
is * or @, видаляє весь масив.

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

РОЗШИРЕННЯ


Розширення виконується в командному рядку після того, як він був розбитий на слова. Існує
виконується сім видів розширення: дужки розширення, тильда розширення, параметр та
змінна розширення, команда заміна, арифметика розширення, слово Розщеплення та
ім'я шляху розширення.

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

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

Лише розширення дужки, розбиття слів і розширення імені шляху можуть змінити кількість
слова розширення; інші розширення розширюють одне слово до одного слова. Єдиний
винятком з цього є розширення "$@"І"${ім'я[@]}", як пояснювалося вище (див
ПАРАМЕТРИ).

Браслет Розширення
Браслет розширення є механізмом, за допомогою якого можуть генеруватися довільні рядки. Це
механізм схожий на ім'я шляху розширення, але створені імена файлів не повинні існувати.
Шаблони, які потрібно розгорнути, мають необов’язкову форму преамбула, а потім або a
серія рядків, розділених комами, або вираз послідовності між двома дужками,
потім необов'язковий постскрипт. Преамбула містить префікс до кожного рядка
у дужках, а потім до кожного результуючого рядка додається постскриптум, розгортаючись
зліва направо.

Розширення дужок можуть бути вкладеними. Результати кожного розгорнутого рядка не сортуються; лівий
правильний порядок зберігається. Наприклад, а{г, в, б}e розширюється в `аде туз абе'.

Вираз послідовності набуває вигляду {x..y[..інкр]}, Де x та y є або цілими числами, або
окремі символи та інкр, необов'язковий приріст, є цілим числом. Коли цілі числа є
надано, вираз розширюється до кожного числа між x та y, включно. Поставляється
цілі числа можуть мати префікс 0 щоб змусити кожен термін мати однакову ширину. Коли або x
or y починається з нуля, оболонка намагається змусити всі згенеровані терміни містити
однакова кількість цифр, нульовий заповнення, де необхідно. Коли введено символи,
вираз розширюється до кожного символу лексикографічно між x та y, включно, використовуючи
локаль C за замовчуванням. Зауважте, що обидва x та y повинні бути одного типу. Коли
подається приріст, він використовується як різниця між кожним терміном. За замовчуванням
приріст становить 1 або -1 відповідно.

Розгортання дужок виконується перед будь-якими іншими розширеннями та будь-якими спеціальними символами
інші розширення зберігаються в результаті. Він суворо текстовий. Удар НЕ
застосувати будь-яку синтаксичну інтерпретацію до контексту розширення або тексту між
брекети.

Правильно сформоване розширення дужок повинно містити відкриваються та закриваючі дужки без лапок, і
принаймні одна кома без лапок або дійсний вираз послідовності. Будь-який неправильно сформований брекет
розширення залишити без змін. А { or , може бути в лапках із зворотною косою рискою, щоб запобігти її появі
вважається частиною виразу в дужках. Щоб уникнути конфліктів із розширенням параметрів,
рядок ${ не вважається відповідним для розширення брекетів.

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

mkdir /usr/local/src/bash/{старий, новий, dist, помилки}
or
корінь чауна /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

Розширення дужки вносить невелику несумісність з історичними версіями sh. sh
не розглядає відкриваючі або закриваючі дужки спеціально, коли вони виступають як частина слова, і
зберігає їх у виводі. Удар видаляє дужки зі слів як наслідок дужки
розширення. Наприклад, слово, введене до sh as файл{1,2} з'являється ідентично в
вихід. Те саме слово виводиться як file1 file2 після розширення на бити. Якщо суворий
сумісність з sh бажано, почніть бити з +B опцію або вимкнути розширення дужки
з +B варіант для комплект команду (див SHELL Вбудований КОМАНДИ нижче).

тильда Розширення
Якщо слово починається з символу тильди без лапок (`~'), всі попередні символи
враховується перша похила риска без лапок (або всі символи, якщо немає без лапок).
a тильда-префікс. Якщо жоден із символів у префіксі тильди не в лапках, символи
у префіксі тильди, що слідує за тильдою, розглядаються як можливі Логін ім'я. Якщо це
Ім'я входу - це нульовий рядок, тильда замінюється значенням параметра оболонки
ГОЛОВНА. Якщо ГОЛОВНА не встановлено, домашній каталог користувача, який виконує оболонку, замінюється
замість цього. В іншому випадку префікс тильди замінюється домашнім каталогом, пов’язаним з
вказане ім’я для входу.

Якщо префіксом тильди є `~+', значення змінної оболонки PWD замінює тильду-
префікс. Якщо префіксом тильди є `~-', значення змінної оболонки OLDPWD, якщо це
набір, замінюється. Якщо символи, наступні за тильдою в префіксі тильди, складаються з
число N, необов'язково з префіксом "+" або "-", префікс тильди замінюється на
відповідний елемент зі стеку каталогів, як він буде відображатися за допомогою диски
вбудована, що викликається з префіксом тильда як аргумент. Якщо символи, наступні за
тильда в префіксі тильди складається з числа без провідного `+' або `-', `+' є
припускається.

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

Кожне призначення змінної перевіряється на наявність префіксів тильди без лапок одразу після a :
або перший =. У цих випадках також виконується розширення тильди. Отже, можна
використовуйте імена файлів із тильдами у присвоєннях до PATH, MAILPATH та CDPATH, і оболонка
призначає розширене значення.

Параметр Розширення
Файл `$Символ ' вводить розширення параметрів, заміну команд або арифметику
розширення. Ім’я параметра або символ, який потрібно розгорнути, можна взяти в дужки, які
є необов'язковими, але служать для захисту змінної, яку потрібно негайно розширити, від символів
після нього, що можна було б інтерпретувати як частину назви.

Коли використовуються дужки, відповідна кінцева дужка є першою `}' не втік а
зворотний слеш або в рядку в лапках, а не у вбудованому арифметичному розширенні,
підстановка команд або розширення параметрів.

${параметр}
Значення параметр замінюється. Брекети потрібні, коли параметр це
позиційний параметр з більш ніж однією цифрою або коли параметр слідує a
символ, який не слід інтерпретувати як частину його імені. The параметр це
параметр оболонки, як описано вище ПАРАМЕТРИ) або посилання на масив (Масиви).

Якщо перший символ параметр це знак оклику (!), він вводить рівень
змінна опосередкованість. Удар використовує значення змінної, утворене з решти
параметр як ім'я змінної; ця змінна потім розгортається, і це значення є
використовується в решті заміна, а не значення параметр себе. Це
відомий як непрямий розширення. Винятком з цього є розширення ${!префікс*} і
${!ім'я[@]} описано нижче. Знак оклику повинен стояти відразу за лівою дужкою
щоб запровадити опосередкованість.

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

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

${параметр:-слово}
Скористайтесь дефолт Цінності. Якщо параметр не встановлено або нульове, розширення слово is
замінений. В іншому випадку значення параметр замінюється.
${параметр:=слово}
Призначити дефолт Цінності. Якщо параметр не встановлено або нульове, розширення слово is
присвоєно параметр. Значення параметр потім замінюється. Позиційний
параметри та спеціальні параметри не можуть бути призначені таким чином.
${параметр:?слово}
дисплей помилка if Null or Не встановлено. Якщо параметр є нульовим або не встановленим, розширення
слово (або повідомлення про це, якщо слово немає) пишеться в
стандартна помилка, і оболонка, якщо вона не інтерактивна, виходить. В іншому випадку,
Значення параметр замінюється.
${параметр:+слово}
Скористайтесь Заступник значення. Якщо параметр є нульовим або не встановленим, нічого не замінено,
інакше розширення слово замінюється.
${параметр:зсув}
${параметр:зсув: }
Підрядок Розширення. Розширюється до до символи значення параметр
починаючи з символу, зазначеного в зсув. Якщо параметр is @, індексований масив
підписаний @ or *, або ім'я асоціативного масиву, результати відрізняються як
описано нижче. Якщо опущено, розгортається до підрядка значення
параметр починаючи з символу, зазначеного в зсув і поширюється до кінця
значення. та зсув є арифметичними виразами (див АРИФМЕТИКА ОЦІНКА
нижче).

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

If параметр is @, результат є позиційні параметри, починаючи з зсув.
Негатив зсув береться відносно одиниці, більшої за найбільшу позицію
параметр, тому зміщення -1 оцінюється до останнього позиційного параметра. Це є
помилка розширення якщо оцінюється до числа менше нуля.

If параметр є індексованим ім’ям масиву з індексом @ або *, результатом є
члени масиву, які починаються з ${параметр[зсув]}. Негативний зсув
береться відносно одиниці, що перевищує максимальний індекс зазначеного масиву. Це
є помилкою розширення, якщо оцінюється до числа менше нуля.

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

Індексація підрядка базується на нулі, якщо не використовуються параметри позиції, in
у цьому випадку індексація за замовчуванням починається з 1. Якщо зсув дорівнює 0, а позиційна
використовуються параметри, $0 має префікс до списку.

${!префікс*}
${!префікс@}
імен узгодження префікс. Розгортається до імен змінних, назви яких починаються
префікс, розділені першим символом IFS спеціальна змінна. Коли @ is
використовується, і розширення з’являється в подвійних лапках, кожна назва змінної розгортається до
окреме слово.

${!ім'я[@]}
${!ім'я[*]}
список of масив ключі. Якщо ім'я є змінною масиву, розгортається до списку масиву
індекси (ключі), присвоєні в ім'я. Якщо ім'я не є масивом, розширюється до 0, якщо ім'я is
set і null в іншому випадку. Коли @ використовується, і розширення з’являється в межах подвійного
лапки, кожна клавіша розгортається до окремого слова.

${#параметр}
Параметр . Довжина в символах значення параметр is
замінений. Якщо параметр is * or @, підставлене значення є числом
позиційні параметри. Якщо параметр це ім'я масиву з індексом * or @,
замінене значення - це кількість елементів у масиві. Якщо параметр є
Ім’я індексованого масиву з індексом від’ємного числа, це число інтерпретується як
відносно одиниці, що перевищує максимальний індекс параметр, тому від’ємні індекси
відлік назад від кінця масиву, а індекс -1 посилається на останній
елемент.

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

${параметр%слово}
${параметр%%слово}
Видалення узгодження Суфікс модель, слово розширюється, щоб створити візерунок так само, як
у розширенні імені шляху. Якщо шаблон відповідає кінцевій частині розгорнутого
Значення параметр, то результатом розширення є розгорнуте значення
параметр з найкоротшим відповідним шаблоном (``%'' case) або найдовша
відповідний шаблон (``%%'' випадок) видалено. Якщо параметр is @ or *, візерунок
операція видалення застосовується до кожного параметра позиції по черзі, і
Розширення – це результуючий список. Якщо параметр є змінною масиву з індексом
з @ or *, операція видалення шаблону застосовується до кожного члена масиву
у свою чергу, і розширення є результуючим списком.

${параметр/модель/рядок}
Викрійки заміна, модель розширюється, щоб створити візерунок, як у
розширення імені шляху. Параметр є розширеним і найдовшим збігом модель проти
його значення замінено на рядок. Якщо модель починається з /, всі матчі
модель замінюються на рядок. Зазвичай замінюється лише перший збіг. Якщо
модель починається з #, воно має збігатися на початку розгорнутого значення
параметр. Якщо модель починається з %, він повинен збігатися в кінці розгорнутого
Значення параметр. Якщо рядок є нульовим, збігається з модель видаляються і /
після модель може бути опущено. Якщо параметр is @ or *, заміна
операція застосовується до кожного параметра позиції по черзі, а розширення є
результуючий список. Якщо параметр є змінною масиву з індексом @ or *,
операція заміни застосовується до кожного члена масиву по черзі, і
Розширення – це результуючий список.

${параметр^модель}
${параметр^^модель}
${параметр,модель}
${параметр,,модель}
випадок модифікація. Це розширення змінює регістр алфавітних символів у
параметр, модель розгортається, щоб створити шаблон, як і в імені шляху
розширення. Кожен символ у розгорнутому значенні параметр перевіряється проти
модель, і, якщо він відповідає шаблону, його регістр перетворюється. Шаблон повинен
не намагайтеся знайти відповідність більш ніж одному символу. The ^ оператор перетворює нижній регістр
збіг літер модель до великої літери; в , оператор перетворює відповідний верхній регістр
літери в нижньому регістрі. The ^^ та ,, розширення перетворюють кожен відповідний символ у
розширене значення; в ^ та , розширення відповідають і перетворюють лише перше
символ у розгорнутому значенні. Якщо модель опущено, воно розглядається як a ?,
який відповідає кожному символу. Якщо параметр is @ or *, модифікація корпусу
операція застосовується до кожного параметра позиції по черзі, а розширення є
результуючий список. Якщо параметр є змінною масиву з індексом @ or *,
Операція зміни регістру застосовується до кожного члена масиву по черзі, і
Розширення – це результуючий список.

Command Заміна
Command заміна дозволяє виведенням команди замінити назву команди. Там
є дві форми:

$(команда)
or
`команда`

Удар виконує розширення, виконуючи команда і заміна командної заміни
зі стандартним виводом команди, видаляючи будь-які останні рядки. Вбудований
нові рядки не видаляються, але їх можна видалити під час розбиття слів. Команда
заміна $(кіт файл) можна замінити на еквівалент, але швидше $( файл).

Коли використовується форма заміни в зворотних лапках старого стилю, зворотний слеш зберігає свій літерал
значення, за винятком випадків, коли слідує $, `або \. Першій зворотній лапці не передує a
зворотний слеш припиняє заміну команди. При використанні $(команда) форма, все
символи між дужками складають команду; ніхто не обробляється спеціально.

Командні заміни можуть бути вкладеними. Щоб розмістити при використанні форми зворотних лапок, екрануйте
внутрішні лапки з зворотною косою рискою.

Якщо заміна з’являється в подвійних лапках, розділення слів і розширення імені шляху
не виконуються за результатами.

Арифметика Розширення
Арифметичне розширення дозволяє оцінити арифметичний вираз і
підміна результату. Формат для арифметичного розширення:

$((вираз))

Старий формат $[вираз] не підтримується і буде видалено в наступних версіях
удар.

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

Оцінка проводиться згідно з правилами, наведеними нижче АРИФМЕТИКА
ОЦІНКА. Якщо вираз є недійсним, бити друкує повідомлення про помилку та ні
відбувається заміна.

Процес Заміна
Процес заміна підтримується в системах, які підтримують іменовані канали (FIFO) або
/dev/fd метод іменування відкритих файлів. Він приймає форму <(список) or >(список),
процес список запускається, коли його вхід або вихід підключено до a FIFO або якийсь файл у /dev/fd.
Ім’я цього файлу передається як аргумент поточній команді як результат
розширення. Якщо >(список) використовується форма, запис у файл забезпечить вхідні дані для список.
Якщо <(список) форму використовується, файл, переданий як аргумент, слід прочитати, щоб отримати
вихід з список.

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

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

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

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

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

Шлях Розширення
Після розділення слів, якщо не -f була встановлена ​​опція, бити сканує кожне слово
символи *, ? та [. Якщо з’являється один із цих символів, то це слово вважається
a модель, і замінено на відсортований за алфавітом список імен файлів, що відповідають
візерунок (див Викрійки Узгодження нижче). Якщо відповідних імен файлів не знайдено, і оболонка
варіант nullglob не ввімкнено, слово не змінено. Якщо nullglob опція
встановлено, і збігів не знайдено, слово видаляється. Якщо failglob встановлено параметр оболонки,
і збігів не знайдено, виводиться повідомлення про помилку, а команда не виконується. Якщо
варіант оболонки nocaseglob увімкнено, збіг виконується незалежно від випадку
з алфавітних символів. Зауважте, що при використанні виразів діапазону, таких як [az] (див. нижче),
можуть бути включені літери іншого регістра, залежно від налаштування LC_COLLATE. Коли
шаблон використовується для розширення імені шляху, символу ``.'' на початку імені або
безпосередньо після косої риски має бути визначено явне відповідність, за винятком варіанта оболонки dotglob
встановлено. Під час збігу імені шляху символ косої риски завжди має бути точно збіганий.
В інших випадках ``.'' характер не розглядається спеціально. Дивіться опис
магазин нижче під SHELL Вбудований КОМАНДИ для опису nocaseglob, nullglob,
failglob та dotglob варіанти оболонки.

Команда ГЛОБІНОР Змінна оболонки може використовуватися для обмеження набору імен файлів, що відповідають a
модель. Якщо ГЛОБІНОР встановлено, кожне відповідне ім’я файлу, яке також відповідає одному з
моделі в ГЛОБІНОР видалено зі списку збігів. Імена файлів ``.'' та
``..'' завжди ігноруються, коли ГЛОБІНОР встановлено і не має значення. Однак установка
ГЛОБІНОР на ненульове значення має ефект увімкнення dotglob варіант оболонки, так все
інші назви файлів, які починаються з a ``.'' буде відповідати. Щоб отримати стару поведінку ігнорування
імена файлів, які починаються на букву a ``.'', зробити ``.*'' один із візерунків у ГЛОБІНОР,
dotglob параметр вимкнено, коли ГЛОБІНОР не встановлено.

Викрійки Узгодження

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

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

* Збігається з будь-яким рядком, включаючи нульовий рядок. Коли глобстар оболонка
увімкнено, і * використовується в контексті розширення імені шляху, два
сусідній *s, що використовується як один шаблон, відповідатиме всім файлам і нулю або більше
каталоги та підкаталоги. Якщо за ним слідує а /, два сусідніх *s буде
відповідати лише каталогам і підкаталогам.
? Відповідає будь-якому окремому символу.
[...] Збігається з будь-яким із вкладених символів. Відокремилася пара символів
через дефіс позначає а діапазон вираз; будь-який символ, що потрапляє між
ці два символи, включно, з використанням зіставлення поточної локалі
послідовність і набір символів збігаються. Якщо після першого символу
[ це ! або ^ тоді збігається будь-який символ, не вкладений. The
порядок сортування символів у виразах діапазону визначається
поточний мовний стандарт і значення LC_COLLATE or LC_ALL змінні оболонки,
якщо встановлено. Щоб отримати традиційну інтерпретацію виразів діапазону,
де [оголошення] еквівалентна [а Б В Г], встановити значення LC_ALL змінна оболонки
до C, або увімкніть globasciiranges варіант оболонки. А - може відповідати
включити його як перший або останній символ у наборі. А ] може збігатися
включивши його як перший символ у наборі.

В [ та ], характер класів можна вказати за допомогою синтаксису
[:клас:], Де клас є одним із наступних класів, визначених у POSIX
стандарт:
випускник альфа ASCII порожній ctrl цифра графік знизити друк точка простір верхній слово
xdigit
Клас символів відповідає будь-якому символу, що належить до цього класу. The слово
клас символів відповідає літерам, цифрам і символу _.

В [ та ], еквівалентність клас можна вказати за допомогою синтаксису
[=c=], який відповідає всім символам з однаковою вагою зіставлення (як
визначено поточним мовним стандартом) як символ c.

В [ та ], синтаксис [.символ.] відповідає символу зіставлення символ.

Якщо extglob Опція оболонки вмикається за допомогою магазин вбудований, кілька розширених візерунків
оператори відповідності розпізнаються. У наступному описі а шаблон-список є списком
з одного або кількох візерунків, розділених символом a |. Складені візерунки можуть бути сформовані за допомогою одного або
більше з наступних підшаблонів:

?(шаблон-список)
Відповідає нулю або одному появі даних шаблонів
*(шаблон-список)
Відповідає нулю або більше входам даних шаблонів
+(шаблон-список)
Збігається з одним або кількома входженнями даних шаблонів
@(шаблон-список)
Відповідає одному з поданих шаблонів
!(шаблон-список)
Збігається з будь -чим, крім однієї з наведених моделей

Quote Видалення
Після попередніх розширень усі символи без лапок \, ' та "
які не виникли в результаті одного з наведених вище розширень, видаляються.

ПЕРЕСпрямування


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

Натомість перед кожним переспрямуванням може передувати номер дескриптора файлу
словом у формі {ім'я вар}. У цьому випадку для кожного оператора переспрямування, крім >&-
і <&-, оболонка виділить дескриптор файлу, більший або дорівнює 10, і призначить
це до ім'я вар. Якщо >&- або <&- передує {ім'я вар}, значення ім'я вар визначає
дескриптор файлу для закриття.

У наступних описах, якщо номер дескриптора файлу пропущено, і перший
символ оператора перенаправлення <, перенаправлення відноситься до стандартного введення
(дескриптор файлу 0). Якщо перший символ оператора переспрямування є >,
перенаправлення відноситься до стандартного виводу (дескриптор файлу 1).

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

Зауважте, що порядок перенаправлень є важливим. Наприклад, команда

ls > список каталогів 2>&1

спрямовує стандартний вихід і стандартну помилку до файлу список каталогів, поки команда

2 років>&1 > список каталогів

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

Удар обробляє кілька імен файлів спеціально, коли вони використовуються в перенаправленнях, як описано
у наступній таблиці:

/dev/fd/fd
If fd дійсне ціле число, дескриптор файлу fd дублюється.
/dev/stdin
Дескриптор файлу 0 дублюється.
/dev/stdout
Дескриптор файлу 1 дублюється.
/dev/stderr
Дескриптор файлу 2 дублюється.
/dev/tcp/господар/порт
If господар є дійсним ім’ям хоста або Інтернет-адресою, і порт це цілочисельний порт
номер або назва послуги, бити намагається відкрити відповідний TCP-сокет.
/dev/udp/господар/порт
If господар є дійсним ім’ям хоста або Інтернет-адресою, і порт це цілочисельний порт
номер або назва послуги, бити намагається відкрити відповідний UDP-сокет.

Помилка відкриття або створення файлу призводить до помилки переспрямування.

Переспрямування з використанням дескрипторів файлів більше 9 слід використовувати обережно, оскільки вони можуть
конфлікт з дескрипторами файлів, які оболонка використовує всередині.

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

Перенаправлення вхід
Перенаправлення введення викликає файл, ім'я якого є результатом розширення слово бути
відкрито для читання в дескрипторі файлу n, або стандартний вхід (дескриптор файлу 0), якщо n is
не вказано.

Загальний формат для переспрямування введення:

[n]<слово

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

Загальний формат для переспрямування виводу:

[n]>слово

Якщо оператор перенаправлення є >, А noclobber варіант для комплект вбудований був
увімкнено, переспрямування не вдасться, якщо файл, ім’я якого є результатом розширення
слово існує і є звичайним файлом. Якщо оператор перенаправлення є >|, або перенаправлення
оператор є > і noclobber варіант для комплект вбудована команда не ввімкнена,
Спроба переспрямування виконується, навіть якщо файл із ім’ям слово існує

Додавання Перенаправлено Вихід
Перенаправлення виводу таким чином викликає файл, ім’я якого є результатом
розширення слово відкривається для додавання до дескриптора файлу n, або стандартний вихід
(дескриптор файлу 1) if n не вказано. Якщо файл не існує, він створюється.

Загальний формат для додавання виводу такий:

[n]>>слово

Перенаправлення стандарт Вихід та стандарт помилка
Ця конструкція допускає як стандартний вихід (дескриптор файлу 1), так і стандартну помилку
вихід (дескриптор файлу 2) буде перенаправлено на файл, ім'я якого є розширенням
слово.

Існує два формати переспрямування стандартного виводу та стандартної помилки:

&>слово
та
>&слово

З двох форм перевага надається першій. Це семантично еквівалентно

>слово 2>&1

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

Додавання стандарт Вихід та стандарт помилка
Ця конструкція допускає як стандартний вихід (дескриптор файлу 1), так і стандартну помилку
вихід (дескриптор файлу 2), який буде додано до файлу, ім'я якого є розширенням слово.

Формат для додавання стандартного виводу та стандартної помилки:

&>>слово

Це семантично еквівалентно

>>слово 2>&1

(Див. Дублювання філе Дескриптори нижче).

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

Формат тут-документів:

<<[-]слово
тут-документ
роздільник

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

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

тут Рядки
Варіант документів у цьому форматі:

<<слово

Команда слово зазнає розширення дужки, розширення тильди, розширення параметрів і змінних параметрів,
підстановка команд, арифметичне розширення та видалення лапок. Розширення імені шляху і
розбиття слів не виконується. Результат передається у вигляді одного рядка до
команду на своєму стандартному введенні.

Дублювання філе Дескриптори
Оператор перенаправлення

[n]<&слово

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

Оператор

[n]>&слово

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

Moving філе Дескриптори
Оператор перенаправлення

[n]<&цифра-

переміщує дескриптор файлу цифра до дескриптора файлу n, або стандартний вхід (файл
дескриптор 0) якщо n не вказано. цифра закривається після копіювання до n.

Аналогічно, оператор перенаправлення

[n]>&цифра-

переміщує дескриптор файлу цифра до дескриптора файлу n, або стандартний вихід (файл
дескриптор 1) якщо n не вказано.

Відкриття філе Дескриптори та цінності читання та писемність
Оператор перенаправлення

[n]<>слово

викликає файл, ім'я якого є розширенням слово бути відкритим як для читання, так і для
запис на дескриптор файлу n, або на дескриптор файлу 0 if n не вказано. Якщо файл
не існує, воно створюється.

Псевдоніми


псевдонімами дозволити рядок замінити слово, якщо воно використовується як перше слово a
проста команда. Оболонка підтримує список псевдонімів, які можна встановити та скасувати за допомогою
псевдонім та псевдоніми вбудовані команди (див SHELL Вбудований КОМАНДИ нижче). Перше слово
кожна проста команда, якщо вона не в лапках, перевіряється на наявність у неї псевдоніма. Якщо так, то це слово
замінюється текстом псевдоніма. Персонажі /, $, ` та = і будь-яка оболонка
метахарактеристики або символи цитування, перераховані вище, можуть не відображатися в імені псевдоніма. The
текст заміни може містити будь-який дійсний введення оболонки, включаючи метасимволи оболонки. The
Перше слово тексту заміни перевіряється на псевдоніми, але слово, ідентичне
псевдонім, який розгортається, не розширюється вдруге. Це означає, що можна псевдонім ls
до ls -F, наприклад, і бити не намагається рекурсивно розширити текст заміни.
Якщо останнім символом значення псевдоніма є a порожній, потім наступне командне слово
псевдонім також перевіряється на розширення псевдоніма.

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

Немає механізму використання аргументів у тексті заміни. Якщо аргументи є
необхідно використовувати функцію оболонки (див ФУНКЦІЇ нижче).

Псевдоніми не розширюються, якщо оболонка не є інтерактивною, за винятком випадків expand_aliases
Опція оболонки встановлюється за допомогою магазин (див. опис магазин при SHELL Вбудований КОМАНДИ
нижче).

Правила щодо визначення та використання псевдонімів дещо заплутані. Удар
завжди читає принаймні один повний рядок введення перед виконанням будь-якої з команд на
цю лінію. Псевдоніми розгортаються під час читання команди, а не під час її виконання.
Тому визначення псевдоніма, що з’являється в тому ж рядку, що й інша команда, не приймається
діє до тих пір, поки не буде прочитаний наступний рядок введення. Команди, наступні за визначенням псевдоніма
на цьому рядку новий псевдонім не впливає. Ця поведінка також є проблемою, коли
виконуються функції. Псевдоніми розширюються, коли читається визначення функції, а не коли
функція виконується, оскільки визначення функції саме по собі є складеною командою. Як
як наслідок, псевдоніми, визначені у функції, доступні лише після цієї функції
виконується. Щоб бути в безпеці, завжди розміщуйте визначення псевдонімів в окремому рядку і не використовуйте
псевдонім у складених командах.

Майже для всіх цілей псевдоніми замінюються функціями оболонки.

ФУНКЦІЇ


Функція оболонки, визначена, як описано вище SHELL ГРАМАТИКА, зберігає серію
команди для подальшого виконання. Коли назва функції оболонки використовується як проста
ім’я команди, виконується список команд, пов’язаних з цією назвою функції.
Функції виконуються в контексті поточної оболонки; не створюється новий процес
інтерпретувати їх (порівняйте це з виконанням сценарію оболонки). Коли функція є
виконується, аргументи функції стають параметрами позиції під час її
виконання. Спеціальний параметр # оновлено, щоб відобразити зміни. Спеціальний параметр 0
є незмінним. Перший елемент FUNCNAME змінній встановлюється ім’я
функцію під час виконання функції.

Усі інші аспекти середовища виконання оболонки ідентичні між функцією та
його виклик за такими винятками: the DEBUG та ПОВЕРНЕННЯ пастки (див. опис
пастка вбудований під SHELL Вбудований КОМАНДИ нижче) не успадковуються, якщо функція не має
надано простежувати атрибут (див. опис декларувати вбудований нижче) або
-o Functrace Опція оболонки була ввімкнена за допомогою комплект вбудований (у цьому випадку все
функції успадковують DEBUG та ПОВЕРНЕННЯ пастки), і ERR пастка не успадковується, якщо
-o errtrace опцію оболонки ввімкнено.

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

Команда НАЙВЕСЕШІЙ Змінна, якщо встановлено числове значення більше 0, визначає максимум
рівень вкладеності функції. Виклики функцій, які перевищують ліміт, викликають ціле
команда на переривання.

Якщо вбудована команда повертати виконується у функції, функція завершує і
виконання відновлюється наступною командою після виклику функції. Будь-яка пов’язана команда
з ПОВЕРНЕННЯ Trap виконується до поновлення виконання. Коли функція завершується,
значення позиційних параметрів і спеціального параметра # відновлюються до значень
вони мали до виконання функції.

Назви функцій та визначення можуть бути перераховані разом із -f варіант для декларувати or набірний
вбудовані команди. The -F варіант до декларувати or набірний відобразить лише імена функцій
(і за бажанням вихідний файл і номер рядка, якщо extdebug увімкнено параметр оболонки).
Функції можна експортувати, щоб підоболонки автоматично визначали їх за допомогою -f
варіант для експорт вбуд. Визначення функції можна видалити за допомогою -f варіант до
скасовано вбуд. Зауважте, що можуть виникнути функції оболонки та змінні з однаковими іменами
у кількох записах із однаковими іменами в середовищі, переданих дочірнім елементам оболонки.
Слід бути обережним у випадках, коли це може викликати проблему.

Функції можуть бути рекурсивними. The НАЙВЕСЕШІЙ змінна може використовуватися для обмеження глибини
стек викликів функцій і обмежити кількість викликів функцій. За замовчуванням обмежень немає
накладається на кількість рекурсивних викликів.

АРИФМЕТИКА ОЦІНКА


Оболонка дозволяє оцінювати арифметичні вирази за певних обставин (див
дозволяти та декларувати вбудовані команди та Арифметика Розширення). Оцінка проводиться в
цілі числа фіксованої ширини без перевірки на переповнення, хоча ділення на 0 перехоплюється і
позначено як помилку. Оператори та їх пріоритет, асоціативність і значення є
те саме, що й у мові C. Наступний список операторів згрупований за рівнями
оператори рівного пріоритету. Рівні перераховані в порядку зменшення пріоритету.

id++ id--
змінний пост-інкремент і пост-декремент
++id --id
змінний попередній приріст і попередній декремент
- + одинарний мінус і плюс
! ~ логічне та порозрядне заперечення
** підведення в ступінь
* / % множення, ділення, остача
+ - додавання, віднімання
<< >> порозрядні зсуви вліво і вправо
<= >= < >
порівняння
== != рівність і нерівність
& розрядне І
^ порозрядне виключне АБО
| побіжно АБО
&& логічне І
|| логічне АБО
експр?експр:експр
умовний оператор
= *= /= %= += -= << = >> = &= ^= |=
призначення
вираз 1 , вираз 2
кома

Змінні оболонки дозволені як операнди; розширення параметрів виконується перед
вираз оцінюється. У виразі на змінні оболонки також можна посилатися
ім'я без використання синтаксису розширення параметра. Змінна оболонки, яка є нульовою або не встановлена
оцінюється до 0, коли посилається за назвою без використання синтаксису розширення параметра. The
значення змінної оцінюється як арифметичний вираз, коли на неї посилаються, або
коли змінна, яка була задана ціле атрибут за допомогою декларувати -i призначається а
значення. Нульове значення має значення 0. Змінна оболонки не обов’язково має її ціле атрибут
увімкнено для використання у виразі.

Константи з провідним 0 інтерпретуються як вісімкові числа. Початок 0x або 0X означає
шістнадцятковий. В іншому випадку числа набувають вигляду [база №]n, де необов'язковий база це
десяткове число від 2 до 64, що представляє арифметичну основу, і n є числом у
цю базу. Якщо база № опускається, то використовується основа 10. При уточненні n, цифри
більше < 9 представлено малими літерами, великими літерами @ та _,
в такому порядку. Якщо база менше або дорівнює 36, малі та великі літери можуть
використовуватися як взаємозамінні для представлення чисел від 10 до 35.

Оператори оцінюються в порядку пріоритету. Підвирази в дужках
оцінюється першим і може замінити наведені вище правила пріоритету.

УМОВНІ ВИРАЗИ


Умовні вирази використовуються [[ складена команда та тест та [ вбудований
команди для перевірки атрибутів файлів і виконання рядкових і арифметичних порівнянь.
Вирази утворюються з наступних унарних або бінарних первинних. Якщо хто-небудь файл аргумент
до одного з праймеріз має форму /dev/fd/n, потім дескриптор файлу n перевіряється. Якщо
файл аргумент до одного з праймеріз є одним з /dev/stdin, /dev/stdoutабо
/dev/stderr, перевіряється дескриптор файлу 0, 1 або 2 відповідно.

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

При використанні з [[, < та > оператори сортують лексикографічно, використовуючи поточну локаль.
Команда тест команда сортує за допомогою впорядкування ASCII.

-a файл
Правда, якщо файл існує
-b файл
Правда, якщо файл існує і є спеціальним блоковим файлом.
-c файл
Правда, якщо файл існує і є спеціальним символьним файлом.
-d файл
Правда, якщо файл існує і є каталогом.
-e файл
Правда, якщо файл існує
-f файл
Правда, якщо файл існує і є звичайним файлом.
-g файл
Правда, якщо файл існує і є set-group-id.
-h файл
Правда, якщо файл існує і є символічним посиланням.
-k файл
Правда, якщо файл існує, і його біт `` sticky'' встановлений.
-p файл
Правда, якщо файл існує і є іменованим каналом (FIFO).
-r файл
Правда, якщо файл існує і читається.
-s файл
Правда, якщо файл існує і має розмір, більший за нуль.
-t fd Істина, якщо дескриптор файлу fd відкритий і відноситься до терміналу.
-u файл
Правда, якщо файл існує, і встановлено його біт set-user-id.
-w файл
Правда, якщо файл існує і доступний для запису.
-x файл
Правда, якщо файл існує і виконується.
-G файл
Правда, якщо файл існує і належить ефективному ідентифікатору групи.
-L файл
Правда, якщо файл існує і є символічним посиланням.
-N файл
Правда, якщо файл існує і був змінений з моменту останнього прочитання.
-O файл
Правда, якщо файл існує і належить ефективному ідентифікатору користувача.
-S файл
Правда, якщо файл існує і є розеткою.
file1 -еф file2
Правда, якщо file1 та file2 посилатися на той самий пристрій і номери inode.
file1 -nt file2
Правда, якщо file1 є новішим (згідно з датою модифікації), ніж file2або якщо file1
існує і file2 не.
file1 -ot file2
Правда, якщо file1 старше, ніж file2або якщо file2 існує і file1 не.
-o optname
Правда, якщо варіант оболонки optname увімкнено. Перегляньте список опцій під
опис -o варіант для комплект вбудований нижче.
-v ім'я вар
Істина, якщо змінна оболонки ім'я вар встановлено (призначено значення).
-R ім'я вар
Істина, якщо змінна оболонки ім'я вар встановлено і є посиланням на ім’я.
-z рядок
Правда, якщо довжина рядок дорівнює нулю.
рядок
-n рядок
Правда, якщо довжина рядок дорівнює нулю.

string1 == string2
string1 = string2
Правда, якщо рядки рівні. = слід використовувати з тест команда для POSIX
відповідність. При використанні з [[ команда, це виконує зіставлення шаблону як
описано вище (З'єднання Команди).

string1 != string2
Правда, якщо рядки не рівні.

string1 < string2
Правда, якщо string1 сортує раніше string2 лексикографічно.

string1 > string2
Правда, якщо string1 сортує після string2 лексикографічно.

arg1 OP arg2
OP один з -екв, -не, , -The, -gtабо -ge. Ці арифметичні двійкові оператори
повернути true if arg1 дорівнює, не дорівнює, менше, менше або дорівнює,
більше, більше або дорівнює arg2, відповідно. arg1 та arg2 може бути
цілі додатні чи від’ємні числа.

ПРОСТО КОМАНДА РОЗШИРЕННЯ


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

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

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

3. Перенаправлення виконуються, як описано вище в розділі ПЕРЕСпрямування.

4. Текст після = у кожній змінній присвоювання піддається розширенню тильди,
розширення параметрів, підстановка команд, арифметичне розширення та видалення лапок
перед призначенням змінній.

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

Якщо назви команди не отримано, перенаправлення виконуються, але не впливають на поточний
середовище оболонки. Помилка переспрямування призводить до завершення команди з ненульовим статусом.

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

КОМАНДА ВИКОНАННЯ


Після того, як команда була розбита на слова, якщо це призведе до простої команди та
необов'язковий список аргументів, виконуються наступні дії.

Якщо назва команди не містить косих рисків, оболонка намагається знайти її. Якщо існує
функції оболонки з такою назвою, ця функція викликається, як описано вище в ФУНКЦІЇ.
Якщо назва не відповідає функції, оболонка шукає її у списку оболонки
вбудовані. Якщо збіг знайдено, буде викликано цей вбудований модуль.

Якщо ім’я не є ні функцією оболонки, ні вбудованою і не містить косих рисків, бити
шукає кожен елемент PATH для каталогу, що містить виконуваний файл
ім'я. Удар використовує хеш-таблицю для запам’ятовування повних імен виконуваних файлів (див мішанина
при SHELL Вбудований КОМАНДИ нижче). Повний пошук каталогів в PATH is
виконується лише якщо команда не знайдена в хеш-таблиці. Якщо пошук є
невдало, оболонка шукає визначену функцію оболонки з іменем
command_not_found_handle. Якщо ця функція існує, вона викликається разом із оригіналом
команда та аргументи вихідної команди як її аргументи, а також вихід із функції
status стає статусом виходу оболонки. Якщо ця функція не визначена, оболонка
друкує повідомлення про помилку та повертає статус виходу 127.

Якщо пошук пройшов успішно або назва команди містить одну або кілька косих рис,
shell виконує названу програму в окремому середовищі виконання. Задано аргумент 0
до вказаного імені, а решта аргументів команди встановлюються як аргументи
дано, якщо є.

Якщо це виконання не вдасться, оскільки файл не у виконуваному форматі, а файл — ні
каталог, вважається, що це a оболонка сценарій, файл, що містить команди оболонки. А
для його виконання створюється підоболонка. Ця підоболонка повторно ініціалізується, щоб ефект
ніби для обробки сценарію було викликано нову оболонку, за винятком того, що
розташування команд, які запам'ятовує батьків (див мішанина нижче під SHELL Вбудований
КОМАНДИ) зберігаються у дитини.

Якщо програма є файлом, який починається з #!, залишок першого рядка вказує an
інтерпретатор програми. Оболонка виконує вказаний інтерпретатор під час роботи
системи, які самі не обробляють цей виконуваний формат. Аргументи до
інтерпретатор складається з одного необов’язкового аргументу після імені інтерпретатора на
перший рядок програми, за яким слідує назва програми, а потім команда
аргументи, якщо такі є.

КОМАНДА ВИКОНАННЯ НАВКОЛИШНЄ СЕРЕДОВИЩЕ


Оболонка має виконання навколишнє середовище, який складається з наступного:

· відкривати файли, успадковані оболонкою під час виклику, змінені перенаправленнями
поставляється в Exec вбудований

· поточний робочий каталог, встановлений за cd, Pushdабо POPD, або успадковані в
оболонка при виклику

· маска режиму створення файлу, встановлена ​​за допомогою умаск або успадковано від батьківської оболонки

· поточні пастки, встановлені пастка

· параметри оболонки, які встановлюються шляхом призначення змінної або з комплект або успадковані від
батьківська оболонка в середовищі

· функції оболонки, визначені під час виконання або успадковані від батьківської оболонки в
навколишнє середовище

· параметри, увімкнені під час виклику (або за замовчуванням, або з аргументами командного рядка) або
by комплект

· параметри, увімкнені за допомогою магазин

· псевдоніми оболонки, визначені за допомогою псевдонім

· різні ідентифікатори процесів, у тому числі фонових завдань, значення $$, А
Значення PPID

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

· відкриті файли оболонки, а також будь-які зміни та доповнення, зазначені в
перенаправлення на команду

· поточний робочий каталог

· маска режиму створення файлів

· змінні оболонки та функції, позначені для експорту, а також змінні, експортовані для
команда, передана в оточенні

· пастки, перехоплені оболонкою, скидаються до значень, успадкованих від оболонки
батьківський, а пастки, ігноровані оболонкою, ігноруються

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

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

Підоболонки, створені для виконання заміни команд, успадковують значення -e варіант від
батьківська оболонка. Коли не в posix режим, бити очищає -e варіант у таких підоболонках.

Якщо за командою слідує a & і контроль завдання не активний, стандартний вхід за замовчуванням
оскільки команда є порожнім файлом / dev / null. В іншому випадку викликана команда успадковує
файлові дескриптори оболонки, що викликає, змінені перенаправленнями.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ


Коли програма викликається, їй надається масив рядків, який називається навколишнє середовище, Це
список ім'я-значення пари, форми ім'я=значення.

Оболонка надає кілька способів маніпулювання середовищем. При виклику оболонка
сканує власне середовище та автоматично створює параметр для кожного знайденого імені
позначаючи це для експорт до дитячих процесів. Виконані команди успадковують середовище. The
експорт та декларувати -x команди дозволяють додавати та видаляти параметри та функції
з навколишнього середовища. Якщо значення параметра в середовищі змінено, новий
цінність стає частиною середовища, замінюючи стару. Середовище, успадковане від
будь-яка виконана команда складається з початкового середовища оболонки, значення якого можуть бути
модифіковано в оболонці, за вирахуванням будь-яких пар, видалених за допомогою скасовано команду, а також будь-які доповнення через
експорт та декларувати -x команди.

Середовище для будь-якого простий команда або функція може бути тимчасово збільшена на
додаючи йому префікс призначення параметрів, як описано вище в ПАРАМЕТРИ. Ці
Оператори присвоєння впливають лише на середовище, яке бачить ця команда.

Якщо -k встановлено параметр (див комплект вбудована команда нижче), потім всі параметр
призначення розміщуються в середовищі для команди, а не лише ті, що передують команді
ім'я команди.

Коли бити викликає зовнішню команду, змінну _ встановлюється повне ім’я файлу
команду та передано цій команді в її середовищі.

EXIT СТАТУС


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

Для цілей оболонки, команда, яка виходить із нульовим статусом виходу, була успішною. An
нульовий статус виходу вказує на успіх. Ненульовий статус виходу вказує на помилку. Коли а
команда закінчується за фатальним сигналом N, бити використовує значення 128+N як статус виходу.

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

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

Вбудовані команди оболонки повертають статус 0 (правда) якщо успішно, і відмінний від нуля (false) якщо
під час їх виконання виникає помилка. Усі вбудовані модулі повертають статус виходу 2 для вказівки
неправильне використання.

Удар сам повертає статус завершення останньої виконаної команди, за винятком синтаксичної помилки
відбувається, і в цьому випадку він виходить із ненульовим значенням. Дивіться також вихід вбудована команда
нижче.

СИГНАЛИ


Коли бити є інтерактивним, за відсутності будь-яких пасток, він ігнорує СИГТЕРМ (так що вбивати 0
не вбиває інтерактивну оболонку), і SIGINT ловлять і обробляють (так що чекати
вбудована функція переривання). у всіх випадках, бити ігнорує СЛЕДУЄ. Якщо контроль роботи включено
ефект, бити ігнорує SIGTTIN, SIGTTOU та SIGTSTP.

Невбудовані команди, що виконуються бити мати обробники сигналів, встановлені на значення, успадковані
оболонку від її батьківського. Коли контроль завдань не діє, асинхронні команди ігноруються
SIGINT та СЛЕДУЄ на додаток до цих успадкованих обробників. Команди виконуються в результаті
підстановка команд ігнорує сигнали керування завданням, створені клавіатурою SIGTTIN, SIGTTOU,
та SIGTSTP.

Оболонка виходить за замовчуванням після отримання a ЗДИХАННЯ. Перед виходом інтерактивна оболонка
повторно надсилає ЗДИХАННЯ на всі роботи, запущені або зупинені. Припинені завдання надсилаються НАДАЛЬШЕ до
забезпечити отримання ними ЗДИХАННЯ. Щоб оболонка не надсилала сигнал a
конкретного завдання, його слід видалити з таблиці вакансій за допомогою відректися вбудований (див
SHELL Вбудований КОМАНДИ нижче) або позначені як неотримання ЗДИХАННЯ використання відректися -h.

Якщо huponexit було встановлено параметр оболонки магазин, бити посилає a ЗДИХАННЯ на всі робочі місця
коли інтерактивна оболонка входу виходить.

If бити очікує завершення команди і отримує сигнал, для якого є пастка
було встановлено, пастка не буде виконана, доки команда не завершиться. Коли бити чекає
для асинхронної команди через чекати вбудований, прийом сигналу для якого a
пастка була встановлена ​​призведе до чекати вбудований для негайного повернення зі статусом виходу
більше 128, відразу після чого виконується пастка.

РОБОТА КОНТРОЛЬ


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

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

[1] 25647

вказуючи, що це завдання є завданням номер 1 і що ідентифікатор процесу останнього процесу
конвеєр, пов’язаний з цим завданням, — 25647. Усі процеси в одному конвеєрі
є членами однієї роботи. Удар використовує робота абстракція як основа контролю роботи.

Щоб полегшити реалізацію користувальницького інтерфейсу для керування роботою, операційна
система підтримує поняття a ток термінал процес група ID. Члени цього
група процесів (процеси, ідентифікатор групи яких дорівнює поточному термінальному процесу
ID групи) отримують генеровані клавіатурою сигнали, такі як SIGINT. Кажуть, що ці процеси
бути в foreground. фон процеси – це ті, від яких ідентифікатор групи процесів відрізняється
термінал; такі процеси захищені від сигналів, що генеруються клавіатурою. Тільки передній план
процесам дозволено читати з або, якщо це вказує користувач за допомогою stty tostop, записувати в
термінал. Фонові процеси, з яких намагаються читати (запис у, коли stty tostop
діє) термінал надсилається a SIGTTIN (SIGTTOU) сигнал від терміналу ядра
водій, який, якщо його не спіймають, призупиняє процес.

Якщо операційна система на якій бити працює, підтримує контроль роботи, бити містить
засоби для його використання. Введення Призупинити характер (як правило ^Z, Control-Z), тоді як a
Запущений процес призводить до зупинки цього процесу та повернення до нього керування бити. Введення тексту
затримується Призупинити характер (як правило ^Y, Control-Y) зупиняє процес
коли він намагається прочитати введення з терміналу та повернути контроль бити,
користувач може потім маніпулювати станом цього завдання, використовуючи bg команда, щоб продовжити його в
фон, fg команда, щоб продовжити його на передньому плані, або вбивати команда вбивати
це. А ^Z набирає чинності негайно та має додатковий побічний ефект, що викликає очікування
виведення та введення вперед, які потрібно відкинути.

Існує кілька способів посилатися на роботу в оболонці. Персонаж % вводить a
специфікація роботи (спец). Номер роботи n може позначатися як %n. Робота також може бути
посилається на використання префікса імені, що використовується для його початку, або використання підрядка, що з’являється
у своєму командному рядку. Наприклад, %ce відноситься до зупиненого ce робота. Якщо префікс збігається
більше однієї роботи, бити повідомляє про помилку. Використання %?ce, з іншого боку, відноситься до будь-якого
завдання, що містить рядок ce у своєму командному рядку. Якщо підрядок відповідає більш ніж одному
робота, бити повідомляє про помилку. Символи %% та %+ посилатися на поняття оболонки
ток робота, що є останнім завданням, зупиненим, коли воно було на передньому плані або розпочато
фон. The попередній робота можна посилатися за допомогою %-. Якщо є тільки один
робота, %+ та %- обидва можна використовувати для позначення цієї роботи. У продукції, що стосується робочих місць (наприклад,
вихід роботи команда), поточне завдання завжди позначається прапорцем a +, А
попередня робота з а -. Єдиний % (без супровідної специфікації роботи) також відноситься до
поточну роботу.

Щоб вивести роботу на передній план, можна просто назвати роботу: %1 є синонімом для ``fg
%1'', переводячи завдання 1 із заднього плану на передній план. так само, ``%1 &'' резюме
робота 1 у фоновому режимі, еквівалентна ``bg %1''.

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

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

ПІДКАЗАННЯ


При інтерактивному виконанні, бити відображає основну підказку PS1 коли він буде готовий
прочитати команду та вторинне підказку PS2 коли для завершення потрібно більше ввести а
команда Удар дозволяє налаштувати ці рядки підказок шляхом вставки ряду
Спеціальні символи з зворотною косою рискою, які декодуються наступним чином:
\a символ дзвінка ASCII (07)
\d дата у форматі "Будня, місяць, Дата" (наприклад, "Tue, 26 травня")
\D{формат}
формат передається до strftime(3) і результат вставляється в
рядок підказки; порожній формат результат у певний місцевий час
представництво. Брекети потрібні
\e escape-символ ASCII (033)
\h ім'я хоста до першого `.'
\H ім'я хоста
\j кількість робочих місць, якими зараз керує оболонка
\l базове ім'я імені кінцевого пристрою оболонки
\n новий рядок
\r повернення вагона
\s назва оболонки, базова назва $0 (частина після фіналу
коса частина)
\t поточний час у 24-годинному форматі ГГ:ММ:СС
\T поточний час у 12-годинному форматі ГГ:ММ:СС
\@ поточний час у форматі 12 годин ранку/вечора
\A поточний час у 24-годинному форматі HH:MM
\u ім'я користувача поточного користувача
\v версія бити (наприклад, 2.00)
\V звільнення бити, версія + рівень виправлення (наприклад, 2.00.0)
\w поточний робочий каталог, с $ HOME скорочено тильдою (використовується
значення PROMPT_DIRTRIM змінна)
\W базове ім'я поточного робочого каталогу, с $ HOME скорочено а
тильда
\! номер історії цієї команди
\# номер команди цієї команди
\$ якщо ефективний UID дорівнює 0, a #, інакше а $
\NNN символ, що відповідає вісімковому числу NNN
\\ зворотний скіс
\[ розпочати послідовність недрукованих символів, які можна використовувати для вбудовування a
Послідовність керування терміналом у підказку
\] закінчити послідовність недрукованих символів

Номер команди та номер історії зазвичай різні: номер історії a
Команда – це її положення в списку історії, який може включати команди, відновлені з
файл історії (див ІСТОРІЯ нижче), тоді як номер команди є позицією в послідовності
команд, що виконуються під час поточного сеансу оболонки. Після того, як рядок декодується, він є
розширено за допомогою розширення параметрів, заміни команд, арифметичного розширення та лапок
видалення, з урахуванням вартості підказки опція оболонки (див. опис
магазин команда під SHELL Вбудований КОМАНДИ нижче).

ЧИТАННЯ


Це бібліотека, яка обробляє введення для читання під час використання інтерактивної оболонки, за винятком випадків
--не редагування параметр надається при виклику оболонки. Редагування рядків також використовується при використанні
-e варіант для зчитування вбуд. За замовчуванням команди редагування рядків подібні до цих
з Emacs. Також доступний інтерфейс редагування рядків у стилі vi. Редагування рядків можна
увімкнено в будь-який час за допомогою -o emacs or -o vi варіанти до комплект вбудований (див SHELL
Вбудований КОМАНДИ нижче). Щоб вимкнути редагування рядка після запуску оболонки, скористайтеся +o
emacs or +o vi варіанти до комплект вбудований.

Лінія читання нотація
У цьому розділі позначення в стилі Emacs використовується для позначення натискань клавіш. Клавіші керування є
позначається C-ключ, наприклад, Cn означає Control-N. так само, мета ключі позначаються М-ключ,
тому Mx означає Meta-X. (На клавіатурах без a мета ключ, М-x означає ESC x, тобто натисніть кнопку
Клавіша Escape потім x ключ. Це робить ESC мета префікс. Комбінація MC-x засоби
ESC-контроль-x, або натисніть клавішу Escape, а потім утримуйте клавішу Control, натиснувши x
ключ.)

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

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

Лінія читання Ініціалізація
Readline налаштовується шляхом розміщення команд у файлі ініціалізації (the inputrc файл).
Ім'я цього файлу береться зі значення INPUTRC змінний. Якщо ця змінна
не встановлено, за замовчуванням є ~ / .inputrc. Коли програма, яка використовує бібліотеку readline
запускається, зчитується файл ініціалізації, а ключові прив’язки та змінні встановлюються.
У файлі ініціалізації readline дозволено лише кілька основних конструкцій. Порожній
рядки ігноруються. Рядки, що починаються на а # є коментарі. Рядки, що починаються на а $
вказати умовні конструкції. Інші рядки позначають прив'язки клавіш і налаштування змінних.

Прив’язки клавіш за замовчуванням можна змінити за допомогою inputrc файл. Інші програми, які використовують
ця бібліотека може додавати власні команди та прив'язки.

Наприклад, розміщення

M-Control-u: універсальний аргумент
or
C-Meta-u: універсальний аргумент
в inputrc змусить MCu виконати команду readline універсальний аргумент.

Розпізнаються такі символічні назви символів: ВИТРІВАННЯ, DEL, ESC, LFD, НОВИЙ РЯДОК,
РЕТ, ПОВЕРНЕННЯ, SPC, ПРОСТІР та TAB.

На додаток до імен команд, readline дозволяє прив’язувати ключі до рядка
вставляється при натисканні клавіші (a макрос).

Лінія читання ключ палітурки
Синтаксис для керування прив'язками клавіш у inputrc файл простий. Все, що є
обов'язковим є ім'я команди або текст макросу та послідовність клавіш, до якої він відноситься
повинні бути зв'язані. Ім’я можна вказати одним із двох способів: як ім’я символічного ключа,
можливо з мета- or Контроль- префікси або як послідовність клавіш.

При використанні форми ім'я ключа:ім'я функції or макрос, ім'я ключа це назва ключа, що пишеться
виходить англійською. Наприклад:

Control-u: універсальний аргумент
Мета-Rubout: назад-вбив-слово
Control-o: "> вихід"

У наведеному вище прикладі Cu прив’язаний до функції універсальний аргумент, М-ДЕЛ обов'язково
функція назад-вбив-слово та Ко обов’язково запускатиме макрос, зазначений праворуч
сторона (тобто, щоб вставити текст ``> output'' у рядок).

У другій формі, "keyseq":ім'я функції or макрос, keyseq відрізняється від ім'я ключа вище в
що рядки, що позначають всю послідовність ключів, можна вказати шляхом розміщення послідовності
у подвійних лапках. Можна використовувати деякі екранування клавіш у стилі GNU Emacs, як показано нижче
наприклад, але символічні назви символів не розпізнаються.

"\Cu": універсальний аргумент
"\Cx\Cr": повторне читання файлу ініціалізації
"\e[11~": "Функціональна клавіша 1"

У цьому прикладі Cu знову прив’язаний до функції універсальний аргумент. Cx Кр зв'язаний
до функції повторно прочитати-ініціальний-файл та ESC [ 1 1 ~ обов’язково вставлятиме текст ``Function
Ключ 1''.

Повний набір escape-послідовностей у стилі GNU Emacs
\C- контрольний префікс
\M- мета префікс
\e втечний символ
\\ зворотний слеш
\" буквально "
\' буквальний '

На додаток до escape-послідовностей у стилі GNU Emacs, є другий набір escape-последовательностей зворотної косої риски.
доступно:
\a сповіщення (дзвінок)
\b повернення на одну позицію
\d видаляти
\f форма корму
\n новий рядок
\r повернення вагона
\t горизонтальна вкладка
\v вертикальна вкладка
\NNN восьмирозрядний символ, значення якого є вісімковим NNN (один до трьох
цифри)
\xHH восьмирозрядний символ, значення якого є шістнадцятковим HH (один або два
шістнадцяткові цифри)

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

Удар дозволяє відображати або змінювати поточні прив’язки клавіш Readline за допомогою пов'язувати
вбудована команда. Режим редагування можна перемикати під час інтерактивного використання за допомогою -o
варіант для комплект вбудована команда (див SHELL Вбудований КОМАНДИ нижче).

Лінія читання Змінні
Readline має змінні, які можна використовувати для подальшого налаштування його поведінки. Змінна може
бути встановлений в inputrc файл із випискою форми

комплект ім'я змінної значення

Якщо не зазначено, змінні readline можуть приймати значення On or від (без урахування
випадок). Нерозпізнані імена змінних ігноруються. Коли значення змінної зчитується, порожній або
нульові значення, "on" (нечутливі до регістру) і "1" еквівалентні On. Усі інші значення є
еквівалентно від. Змінні та їх значення за замовчуванням:

в стилі дзвона (чутно)
Керує тим, що відбувається, коли readline хоче дзвонити в термінал. Якщо встановлено на
ніхто, readline ніколи не дзвонить. Якщо встановлено на видимий, readline використовує видимий
дзвінок, якщо такий є. Якщо встановлено на чутний, readline намагається зателефонувати
дзвінок терміналу.
bind-tty-special-chars (Увімкнено)
Якщо встановлено значення On, readline намагається зв'язати контрольні символи, які спеціально обробляються
драйвер терміналу ядра до їх еквівалентів readline.
кольорова статистика (Вимкнено)
Якщо встановлено значення On, readline відображає можливі завершення, використовуючи різні кольори
вкажіть їх тип файлу. Визначення кольору беруться зі значення
LS_COLORS змінна оточення
коментар-початок (``#'')
Рядок, який вставляється під час читання вставка-коментар команда виконується.
Ця команда зобов’язана M-# в режимі emacs і до # в командному режимі vi.
завершення-ігнор-регістр (Вимкнено)
Якщо встановлено значення On, readline виконує відповідність імен файлів і завершення в a
мода без урахування регістру.
завершення-префікс-довжина-відображення (0)
Довжина в символах загального префікса списку можливих доповнень
який відображається без змін. Якщо встановлено значення більше нуля,
звичайні префікси, довші за це значення, замінюються крапками, коли
відображення можливих завершень.
пункти запиту завершення (100)
Це визначає, коли користувач запитує про перегляд кількості можливих
завершення, створене можливі-завершення команда. Його можна встановити на будь-який
ціле значення більше або дорівнює нулю. Якщо кількість можливих доробок
більше або дорівнює значенню цієї змінної, користувач запитує чи
чи ні, він хоче їх переглядати; інакше вони просто відображаються в терміналі.
convert-meta (Увімкнено)
Якщо встановлено значення On, readline перетворить символи з восьмим бітом, встановленим у ASCII
ключову послідовність, видаляючи восьмий біт і додаючи префікс escape-символу (в
ефект, використовуючи escape як мета префікс).
вимкнення-завершення (Вимкнено)
Якщо встановлено значення On, readline блокуватиме завершення слова. Символи завершення будуть
вставлено в рядок, як ніби вони були зіставлені самостійно вставити.
режим редагування (emacs)
Контролює, чи починається рядок читання з набору прив’язок клавіш, подібних до Emacs or vi.
режим редагування можна встановити будь-яке emacs or vi.
echo-control-characters (Увімкнено)
Коли встановлено значення On, в операційних системах, які вказують, що вони його підтримують, відлунає рядок readline
символ, що відповідає сигналу, що генерується з клавіатури.
увімкнути клавіатуру (Вимкнено)
Коли встановлено значення On, readline спробує ввімкнути клавіатуру програми, коли вона є
дзвонив. Деякі системи потребують цього, щоб увімкнути клавіші зі стрілками.
enable-meta-key (Увімкнено)
Коли встановлено значення On, readline спробує ввімкнути будь-який ключ мета-модифікатора терміналу
стверджує, що підтримує, коли його викликають. На багатьох терміналах використовується метаключ
надсилати восьмирозрядні символи.
розгорнути тильду (Вимкнено)
Якщо встановлено значення On, розгортання тильди виконується, коли readline намагається завершити слово.
історія-заповідник (Вимкнено)
Якщо встановлено значення On, код історії намагається розмістити точки в одному місці на кожному
рядок історії отримано за допомогою попередня історія or наступна історія.
історія розміру (0)
Встановіть максимальну кількість записів історії, збережених у списку історії. Якщо встановлено на
нуль, усі наявні записи історії видаляються, а нові записи не зберігаються. Якщо
встановлено значення менше нуля, кількість записів історії не обмежена. За
за замовчуванням кількість записів історії не обмежена.
режим горизонтальної прокрутки (Вимкнено)
Коли встановлено значення On, змушує readline використовувати один рядок для відображення, прокручуючи введення
горизонтально на одній лінії екрана, коли вона стає довшою за ширину екрана
замість перенесення на новий рядок.
input-meta (Вимкнено)
Якщо встановлено значення On, readline дозволить восьмирозрядний вхід (тобто він не видалятиме файл
старший біт символів, які він зчитує), незалежно від того, що термінал заявляє про це
може підтримати. Ім'я мета-прапор є синонімом цієї змінної.
є пошуковими термінаторами (``C-[C-J'')
Рядок символів, без яких слід завершити додатковий пошук
згодом виконання символу як команди. Якщо ця змінна не була
задане значення, символи ESC та CJ завершить додатковий пошук.
клавіша (emacs)
Встановіть поточну розкладку читання. Набір дійсних імен розкладки emacs,
emacs-стандарт, emacs-meta, emacs-ctlx, vi, vi-команда та vi-вставка. vi is
еквівалентно vi-команда; emacs еквівалентна emacs-стандарт. Значення за замовчуванням
is emacs; значення режим редагування також впливає на розкладку за замовчуванням.
keyseq-тайм-аут (500)
Визначає тривалість читальна лінія буде чекати символу при читанні неоднозначного
послідовність клавіш (така, яка може сформувати повну послідовність клавіш за допомогою введення read so
далеко, або може прийняти додатковий вхід для завершення довшої послідовності клавіш). Якщо немає введення
отримано протягом тайм-ауту, читальна лінія використовуватиме коротший, але повний ключ
послідовність. Значення вказано в мілісекундах, тому значення 1000 означає це
читальна лінія буде чекати одну секунду для додаткового введення. Якщо для цієї змінної встановлено значення a
значення менше або дорівнює нулю або нечислове значення, читальна лінія буде чекати
доки не буде натиснута інша клавіша, щоб вирішити, яку послідовність клавіш завершити.
знак-довідники (Увімкнено)
Якщо встановлено значення On, завершені імена каталогів мають косу риску.
позначити-змінені-лінії (Вимкнено)
Якщо встановлено значення On, рядки історії, які були змінені, відображаються з попереднім
зірочка (*).
mark-symlinked-directory (Вимкнено)
Якщо встановлено значення On, завершені імена, які є символічними посиланнями на каталоги, мають косу риску
додається (залежно від значення знак-довідники).
match-hidden-files (Увімкнено)
Ця змінна, якщо встановлено значення On, змушує readline відповідати файлам, імена яких починаються
з `.' (приховані файли) під час виконання назви файлу. Якщо встановлено на від,
провідний `.' має бути надано користувачем у імені файлу, який потрібно заповнити.
menu-complete-display-prefix (Вимкнено)
Якщо встановлено значення On, завершення меню відображає загальний префікс списку можливих
завершення (які можуть бути порожніми) перед циклічним переходом по списку.
вихід-мета (Вимкнено)
Якщо встановлено значення On, readline відображатиме символи з безпосередньо встановленим восьмим бітом
а не як вихідна послідовність з мета-префіксом.
заповнення сторінок (Увімкнено)
Якщо встановлено значення On, readline використовує внутрішній більше-як пейджер, щоб відобразити весь екран
можливі завершення за один раз.
друк-завершення-горизонтально (Вимкнено)
Якщо встановлено значення On, readline відображатиме завершення зі збігами, відсортованими по горизонталі
в алфавітному порядку, а не вниз по екрану.
повернути все на новий рядок (Вимкнено)
Якщо встановлено значення On, readline скасує всі зміни в рядках історії, перш ніж повернути when
Прийняти рядок виконується. За замовчуванням рядки історії можуть бути змінені та збережені
окремі списки скасування між викликами читальна лінія.
показати все-якщо-неоднозначно (Вимкнено)
Це змінює типову поведінку функцій завершення. Якщо встановлено на On, слова
які мають більше одного можливого завершення, спричиняють відображення збігів
негайно замість того, щоб дзвонити.
показати все, якщо не змінено (Вимкнено)
Це змінює типову поведінку функцій завершення подібним чином
до показати все-якщо-неоднозначно. Якщо встановлено значення On, слова, які мають більше одного можливих
завершення без будь-якого можливого часткового завершення (можливі завершення ні
мають спільний префікс) призведе до того, що збіги відображатимуться негайно замість
дзвонить у дзвін.
режим показу в підказці (Вимкнено)
Якщо встановлено значення On, додайте символ на початок підказки, що вказує на редагування
режим: emacs (@), команда vi (:) або вставка vi (+).
пропустити-завершений-текст (Вимкнено)
Якщо встановлено значення On, це змінює поведінку завершення за замовчуванням під час вставки одного
збігаються в лінію. Він активний лише під час виконання завершення в середині
слово. Якщо ввімкнено, readline не вставляє символи із завершення
відповідати символам за крапкою в слові, що заповнюється, тобто частинах слова
наступні за курсором не дублюються.
видима статистика (Вимкнено)
Якщо встановлено значення On, символ, що позначає тип файлу, як повідомляється stat(2) додається
до імені файлу під час переліку можливих завершень.

Лінія читання умовний Конструкції
Readline реалізує засіб, подібний за духом до функцій умовної компіляції
препроцесора C, який дозволяє виконувати прив’язки клавіш і налаштування змінних як
результат тестів. Використовуються чотири директиви аналізатора.

$if Команда $if Конструкція дозволяє робити прив'язки на основі режиму редагування,
термінал, який використовується, або програма, яка використовує readline. Текст контрольної роботи
поширюється до кінця рядка; не потрібні символи, щоб виділити його.

режим Команда режим= форма $if Директива використовується, щоб перевірити, чи є readline в
режим emacs або vi. Це можна використовувати разом з комплект клавіша
команда, наприклад, щоб встановити прив'язки в emacs-стандарт та emacs-ctlx
розкладки клавіш, лише якщо readline починається в режимі emacs.

термін Команда термін= форма може використовуватися для включення специфічних для терміналів прив’язок ключів,
можливо, щоб зв'язати послідовності клавіш, що виводяться функціональними клавішами терміналу.
Слово з правого боку = перевіряється на обидва повне ім'я
термінал і частина назви терміналу перед першим -, це
дозволяє сонце відповідати обома сонце та сонце-cmd, наприклад.

додатку
Команда додатку construct використовується для включення параметрів, що стосуються програми.
Кожна програма, що використовує бібліотеку readline, встановлює параметр додатку ім'я, І
файл ініціалізації може перевірити певне значення. Це можна було б використати
прив’язувати послідовності клавіш до функцій, корисних для певної програми. Для
Наприклад, наступна команда додає послідовність клавіш, яка містить поточний
або попереднє слово в бити:

$if Удар
# Процитуйте поточне або попереднє слово
"\C-xq": "\eb\"\ef\""
$endif

$endif Ця команда, як показано в попередньому прикладі, завершує роботу $if команда

$інше Команди в цій гілці $if директива виконується, якщо тест не пройшов.

$include
Ця директива приймає одне ім’я файлу як аргумент і читає команди і
прив'язки з цього файлу. Наприклад, наступна директива буде читатися
/etc/inputrc:

$include /etc/inputrc

Пошук
Readline надає команди для пошуку в історії команд (див ІСТОРІЯ нижче)
для рядків, що містять вказаний рядок. Існує два режими пошуку: зростаючий та не-
зростаючий.

Поступові пошуки починаються до того, як користувач закінчить вводити пошуковий рядок. Як кожен
вводиться символ рядка пошуку, readline відображає наступний запис з історії
відповідність рядку, введеному на даний момент. Поступовий пошук вимагає стільки символів
за потребою, щоб знайти потрібний запис історії. Символи, присутні у значенні
є пошуковими термінаторами змінні використовуються для завершення інкрементного пошуку. Якщо це
змінній не було призначено значення, символи Escape і Control-J закінчаться
поетапний пошук. Control-G припинить додатковий пошук і відновить
оригінальна лінія. Коли пошук припиняється, запис історії, що містить пошук
рядок стає поточним рядком.

Щоб знайти інші відповідні записи в списку історії, введіть Control-S або Control-R як
відповідний. Це шукатиме наступний запис назад або вперед в історії
відповідає введеному на даний момент рядку пошуку. Будь-яка інша послідовність клавіш, прив’язана до рядка читання
команда завершить пошук і виконає цю команду. Наприклад, а новий рядок волі
завершити пошук і прийняти рядок, тим самим виконавши команду з історії
список

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

Неінкрементні пошуки зчитують весь рядок пошуку, перш ніж почати пошук
відповідність рядків історії. Рядок пошуку може бути введений користувачем або бути частиною
вміст поточного рядка.

Лінія читання Command імен
Нижче наведено список назв команд і послідовностей клавіш за замовчуванням
які вони пов'язані. Назви команд без супровідної послідовності клавіш не прив’язані
за замовчуванням. У наступних описах точка посилається на поточну позицію курсору, і
позначити посилається на позицію курсору, збережену за допомогою позначка команда. Текст між
точка і позначка називаються регіон.

Команди та цінності Moving
початок рядка (Ca)
Перейти до початку поточного рядка.
кінцевий рядок (Ce)
Перейдіть до кінця рядка.
вперед-char (Пор.)
Переміщення персонажа вперед.
назад-символ (Cb)
Переміщення персонажа назад.
вперед-слово (Мф)
Перейдіть до кінця наступного слова. Слова складаються з буквено-цифрових
символи (літери та цифри).
назад-слово (Мб)
Повернутися до початку поточного або попереднього слова. Слова складаються з
буквено-цифрові символи (літери та цифри).
shell-forward-word
Перейдіть до кінця наступного слова. Слова розділені оболонкою без лапок
метасимволи.
shell-backward-word
Повернутися до початку поточного або попереднього слова. Слова розмежовані за допомогою
метасимволи оболонки без лапок.
чистий екран (Cl)
Очистіть екран, залишивши поточний рядок у верхній частині екрана. З
аргумент, оновити поточний рядок, не очищаючи екран.
перемалювати поточну лінію
Оновити поточний рядок.

Команди та цінності Маніпуляція Історія
Прийняти рядок (Новий рядок, Повернення)
Прийміть рядок незалежно від того, де знаходиться курсор. Якщо цей рядок не порожній, додайте
його до списку історії відповідно до стану ХІСТКОНТРОЛЬ змінний. Якщо
рядок є зміненим рядком історії, а потім відновіть рядок історії до початкового стану
стан.
попередня історія (Cp)
Отримати попередню команду зі списку історії, повернувшись назад у списку.
наступна історія (Cn)
Отримати наступну команду зі списку історії, рухаючись вперед у списку.
початок історії (M-<)
Перейти до першого рядка в історії.
кінець історії (M->)
Перейти до кінця історії введення, тобто до рядка, який зараз вводиться.
зворотний пошук-історія (Кр)
Шукати назад, починаючи з поточного рядка і рухаючись «вгору» по історії як
необхідно. Це поетапний пошук.
вперед-пошук-історія (Cs)
Шукати вперед, починаючи з поточного рядка і рухаючись «вниз» по історії
в міру необхідності. Це поетапний пошук.
неінкрементна історія зворотного пошуку (Мп)
Шукати назад в історії, починаючи з поточного рядка, використовуючи не-
інкрементний пошук рядка, наданого користувачем.
без інкрементного-переднього пошуку-історії (Mn)
Шукати вперед в історії за допомогою неінкрементного пошуку рядка
надається користувачем.
історія-пошук-вперед
Шукайте вперед в історії рядка символів між початком
поточної лінії та точки. Це неінкрементний пошук.
історія-пошук-назад
Шукати в історії назад рядок символів між початком
поточної лінії та точки. Це неінкрементний пошук.
тягнути-n-й арг (MCy)
Вставте перший аргумент до попередньої команди (зазвичай це друге слово на
попередній рядок) у точці. З аргументом n, вставте nй слово з попереднього
команда (слова в попередній команді починаються зі слова 0). Негативний аргумент
вставляє nслово з кінця попередньої команди. Раз аргумент n is
обчислюється, аргумент витягується так, ніби "!n«Історія була розширена
вказано.
ривок-останній-арг (М-., М-_)
Вставте останній аргумент до попередньої команди (останнє слово попередньої
запис історії). З числовим аргументом поводьтеся точно так само тягнути-n-й арг.
Послідовні дзвінки на номер ривок-останній-арг повернутися назад по списку історії, вставивши
останнє слово (або слово, зазначене аргументом першого виклику) кожного рядка в
поворот. Будь-який числовий аргумент, що надається цим послідовним викликам, визначає
напрямок руху в історії. Негативний аргумент змінює напрямок
через історію (назад чи вперед). Використовуються засоби розширення історії
щоб витягти останнє слово, як якщо б було вказано розширення історії «!$».
shell-expand-line (MCe)
Розгорніть рядок, як це робить оболонка. Це виконує розширення псевдоніма та історії як
а також усі розширення слів оболонки. Подивитися ІСТОРІЯ РОЗШИРЕННЯ нижче для a
опис розширення історії.
history-expand-line (М-^)
Виконати розширення історії в поточному рядку. Подивитися ІСТОРІЯ РОЗШИРЕННЯ нижче для a
опис розширення історії.
магічний простір
Виконайте розширення історії в поточному рядку та вставте пробіл. Подивитися ІСТОРІЯ
РОЗШИРЕННЯ нижче для опису розширення історії.
alias-expand-line
Виконайте розширення псевдоніма в поточному рядку. Подивитися Псевдоніми вище для опису
розширення псевдоніма.
history-and-alias-expand-line
Виконайте розширення історії та псевдоніма в поточному рядку.
вставити останній аргумент (М-., М-_)
Синонім до ривок-останній-арг.
оперувати і отримати далі (Ко)
Прийміть поточний рядок для виконання та отримайте наступний рядок відносно
поточний рядок з історії для редагування. Будь-який аргумент ігнорується.
команда редагування та виконання (C-xC-e)
Викличте редактор у поточному командному рядку та виконайте результат як оболонку
команди. Удар спроби закликати $VISUAL, $ РЕДАКТОР та emacs як редактор, в
той порядок.

Команди та цінності Зміна текст
кінець файлу (Як правило, CD)
Символ, що вказує на кінець файлу, встановлений, наприклад, ``stty''. Якщо це
символ читається, якщо в рядку немає символів, а точка знаходиться на
початку рядка Readline інтерпретує його як кінець введення і повертає EOF.
delete-char (CD)
Видалити символ у точці. Якщо ця функція прив’язана до того ж символу, що й
tty EOF характер, як CD зазвичай, дивіться вище про ефекти.
backward-delete-char (Rubout)
Видалити символ за курсором. Коли вказано числовий аргумент, збережіть
видалений текст на кільці вбивства.
вперед-назад-видалити-символ
Видалити символ під курсором, якщо курсор не знаходиться в кінці рядка,
у цьому випадку символ за курсором буде видалено.
в лапках-вставках (Cq, Резюме)
Додайте наступний введений символ до рядка дослівно. Ось як вставити
персонажам подобається Cq, Наприклад.
вкладка-вставка (Резюме TAB)
Вставте символ табуляції.
самостійно вставити (а, b, A, 1, !, ...)
Вставте введений символ.
транспонувати символи (Ct)
Перетягніть символ перед вказівником вперед над символом у точці, переміщуючи точку
вперед також. Якщо точка знаходиться в кінці лінії, це транспонує обидві
символів перед крапкою. Негативні аргументи не діють.
транспонувати-слова (Мт)
Перетягніть слово перед крапкою повз слово після точки, переміщаючи точку над цим словом
так само. Якщо точка знаходиться в кінці рядка, це транспонує останні два слова
лінія.
прописне слово (Му)
Поточне (або наступне) слово у верхньому регістрі. З від’ємним аргументом у верхньому регістрі
попереднє слово, але не пересувайте точку.
слово в нижньому регістрі (мл)
Поточне (або наступне) слово введіть нижній регістр. З від’ємним аргументом введіть нижній регістр
попереднє слово, але не пересувайте точку.
слово з великої літери (Мак)
Напишіть з великої літери поточне (або наступне) слово. З негативним аргументом пишіть з великої літери
попереднє слово, але не пересувайте точку.
режим перезапису
Вимкнути режим перезапису. З явним позитивним числовим аргументом перемикається на
режим перезапису. З явним непозитивним числовим аргументом перемикається на вставку
режим. Ця команда впливає лише на emacs режим; vi режим перезаписує інакше.
Кожен дзвінок readline() запускається в режимі вставки. У режимі перезапису символи зв'язані
до самостійно вставити замінити текст у точці, а не зсунути текст праворуч.
Персонажі, прив'язані до backward-delete-char замінити символ перед крапкою на a
простір. За замовчуванням ця команда не прив’язана.

Вбивство та Янки
лінія вбивства (Ck)
Убийте текст від точки до кінця рядка.
зворотна лінія вбивства (Cx рубаут)
Вбийте назад до початку лінії.
unix-line-discard (Cu)
Вбивайте назад від точки до початку рядка. Убитий текст зберігається
кільце вбивства.
вбити всю лінію
Вбийте всіх символів у поточному рядку, незалежно від того, де знаходиться точка.
вбивство (MD)
Вбивати від точки до кінця поточного слова або, якщо між словами, до кінця
наступне слово. Межі слів такі ж, як і ті, які використовуються вперед-слово.
назад-вбив-слово (M-Rubout)
Вбийте слово за точкою. Межі слів такі ж, як і ті, які використовуються
назад-слово.
shell-kill-word (MD)
Вбивати від точки до кінця поточного слова або, якщо між словами, до кінця
наступне слово. Межі слів такі ж, як і ті, які використовуються shell-forward-word.
shell-backward-kill-word (M-Rubout)
Вбийте слово за точкою. Межі слів такі ж, як і ті, які використовуються
shell-backward-word.
unix-word-rubout (Cw)
Вбийте слово за точкою, використовуючи пробіл як межу слова. Убитий текст
зберігається на кільці вбивства.
unix-ім'я-файлу-rubout
Вбийте слово за крапкою, використовуючи пробіл і косу риску як слово
межі. Убитий текст зберігається на кільці для вбивства.
delete-horizontal-space (М-\)
Видалити всі пробіли та табуляції навколо точки.
kill-region
Знищити текст у поточній області.
copy-region-as-kill
Скопіюйте текст у регіоні в буфер знищення.
копіювати-назад-слово
Скопіюйте слово перед вказівкою на буфер знищення. Межі слова те саме, що
назад-слово.
копіювати вперед-слово
Скопіюйте слово після точки в буфер знищення. Межі слів ті самі
as вперед-слово.
дергати (Сай)
Затягніть верхню частину кільця вбивства в буфер у точці.
енк-поп (мій)
Поверніть кільце знищення та потягніть новий верх. Працює лише наступне дергати or енк-поп.

Числовий Аргументи
цифра-аргумент (М-0, М-1, ..., М--)
Додайте цю цифру до вже накопиченого аргументу або почніть новий аргумент. М--
починає негативний аргумент.
універсальний аргумент
Це ще один спосіб вказати аргумент. Якщо за цією командою слідує один або
більше цифр, необов’язково зі знаком мінус, ці цифри визначають
аргумент. Якщо після команди йдуть цифри, виконується універсальний аргумент знову
завершує числовий аргумент, але в іншому випадку ігнорується. Як окремий випадок, якщо це
За командою одразу слідує символ, який не є ні цифрою, ні мінусом
знак, кількість аргументів для наступної команди множиться на чотири. Аргумент
count спочатку дорівнює одиниці, тому виконання цієї функції вперше призводить до
аргумент рахує чотири, вдруге робить аргумент шістнадцятьм і так далі.

Завершення
повний (TAB)
Спробуйте виконати завершення тексту перед пунктом. Удар завершення спроб
трактування тексту як змінної (якщо текст починається з $), ім'я користувача (якщо текст
починається з ~), ім'я хоста (якщо текст починається з @), або команду (включаючи псевдоніми
і функції) у свою чергу. Якщо жодне з них не збігається, ім’я файлу буде завершено
намагалися.
можливі-завершення (М-?)
Перелічіть можливі завершення тексту перед пунктом.
вставки-завершення (М-*)
Вставте всі завершення тексту перед точкою, яка була б створена
можливі-завершення.
меню-завершене
Як і в повний, але замінює слово, яке потрібно завершити, на один збіг із
перелік можливих доробок. Повторне виконання меню-завершене кроки
через список можливих завершень, вставляючи кожен збіг по черзі. В кінці
зі списку завершень лунає дзвінок (за умови налаштування в стилі дзвона)
і вихідний текст відновлено. Аргумент про n рухається n позиції вперед в
список матчів; негативний аргумент може використовуватися для переходу назад через
список. Ця команда призначена для прив’язки TAB, але за замовчуванням не прив’язаний.
меню-завершення-назад
Ідентично до меню-завершене, але рухається назад по списку можливих
завершення, ніби меню-завершене було надано негативний аргумент. Ця команда
за замовчуванням відключено.
delete-char-or-list
Видаляє символ під курсором, якщо не на початку чи в кінці рядка
(люблю delete-char). Якщо в кінці рядка, поводиться ідентично до
можливі-завершення. За замовчуванням ця команда відключена.
повне ім'я файлу (М-/)
Спробуйте ввести ім’я файлу в текст перед пунктом.
можливі-завершення назв файлу (Cx /)
Перелічіть можливі завершення тексту перед пунктом, розглядаючи його як ім’я файлу.
повне ім'я користувача (М-~)
Спробуйте завершити текст перед пунктом, розглядаючи його як ім’я користувача.
можливі-завершення імені користувача (Cx ~)
Перелічіть можливі завершення тексту перед пунктом, розглядаючи його як ім’я користувача.
повна змінна (М-$)
Спробуйте завершити текст перед точкою, розглядаючи його як змінну оболонки.
можливі-змінні-завершення (Cx $)
Перелічіть можливі завершення тексту перед пунктом, розглядаючи його як оболонку
змінна.
повне ім'я хоста (М-@)
Спробуйте завершити текст перед точкою, розглядаючи його як ім’я хоста.
можливе ім'я хоста-завершення (Cx @)
Перелічіть можливі завершення тексту перед пунктом, розглядаючи його як ім’я хоста.
повна команда (М-!)
Спробуйте завершити текст перед пунктом, розглядаючи його як назву команди.
Завершення команди намагається зіставити текст із псевдонімами, зарезервованими словами,
функції оболонки, вбудовані оболонки та, нарешті, імена виконуваних файлів у такому порядку.
можливі-команди-завершення (Cx !)
Перелічіть можливі завершення тексту перед пунктом, розглядаючи його як команду
ім'я.
динамічна повна історія (M-TAB)
Спробуйте завершити текст перед пунктом, порівнявши текст із рядками з
список історії для можливих матчів завершення.
dabbrev-розгорнути
Спробуйте завершити меню на тексті перед точкою, порівнявши текст із рядками
зі списку історії для можливих матчів завершення.
повні в дужки (М-{)
Виконайте доповнення імені файлу та вставте список можливих завершень, що вкладається
у дужках, щоб список був доступний для оболонки (див Браслет Розширення вище).

клавіатура Макрос
start-kbd-macro (Cx ()
Почніть збереження символів, введених у поточний макрос клавіатури.
end-kbd-macro (Cx ))
Припиніть збереження символів, введених у поточний макрос клавіатури, і збережіть
визначення.
call-last-kbd-macro (Cx e)
Повторно виконайте останній визначений макрос клавіатури, створивши символи в макросі
виглядати так, ніби набрано на клавіатурі.
print-last-kbd-macro ()
Надрукуйте останній макрос клавіатури, визначений у форматі, придатному для inputrc файлу.

Різне
повторно прочитати-ініціальний-файл (Cx кр)
Читайте у змісті inputrc файлу та включайте будь-які прив’язки або змінні
знайдені там завдання.
перервати (Cg)
Припиніть виконання поточної команди редагування та подзвоніть у дзвінок терміналу (за умови
налаштування в стилі дзвона).
do-uppercase-версія (ма, Мб, M-x, ...)
Якщо метафікований персонаж x у нижньому регістрі, запустіть команду, яка прив’язана до
відповідний символ верхнього регістру.
префікс-мета (ВИХІД)
Metafy наступний введений символ. ESC f еквівалентна Мета-ф.
анулювати (C-_, Cx Cu)
Поетапне скасування, яке запам’ятовується окремо для кожного рядка.
лінія повернення (Містер)
Скасуйте всі зміни, внесені в цей рядок. Це як виконання анулювати командувати достатньо
разів, щоб повернути рядок у початковий стан.
тильда-розгорнути (М-&)
Виконайте розгортання тильди для поточного слова.
позначка (C-@, М- )
Встановіть позначку в точку. Якщо вказано числовий аргумент, позначка встановлюється на
цю позицію.
обмін-точка і позначка (Cx Cx)
Поміняйте точку міткою. Поточна позиція курсору встановлюється як збережена
позицію, а стара позиція курсора зберігається як позначка.
пошук символів (C-])
Символ читається, і точка переміщується до наступного входження цього символу. А
пошук негативної кількості попередніх випадків.
символ-пошук-назад (MC-])
Символ читається, і точка переміщується до попереднього входження цього символу
характер. Від’ємний підрахунок шукає наступні випадки.
skip-csi-послідовність
Прочитайте достатню кількість символів, щоб використовувати послідовність із кількома клавішами, наприклад, визначену для
ключі, як-от Home і End. Такі послідовності починаються з індикатора контрольної послідовності
(CSI), зазвичай ESC-[. Якщо ця послідовність прив'язана до "\[", ключі, які створюють такі
послідовності не матимуть ефекту, якщо вони явно не прив’язані до команди readline,
замість того, щоб вставляти випадкові символи в буфер редагування. Це не пов'язане
за замовчуванням, але зазвичай прив’язаний до ESC-[.
вставка-коментар (М-#)
Без числового аргументу значення рядка читання коментар-початок змінна є
вставлено на початку поточного рядка. Якщо вказано числовий аргумент,
ця команда діє як перемикач: якщо символи на початку рядка роблять
не відповідає значенню коментар-початок, значення вставляється, інакше
символи в коментар-початок видаляються з початку рядка. У будь-якому
У випадку, рядок приймається так, ніби був набраний новий рядок. Значення за замовчуванням
коментар-початок змушує цю команду зробити поточний рядок коментарем оболонки. Якщо
числовий аргумент викликає видалення символу коментаря, рядок буде
виконується оболонкою.
glob-complete-word (Мг)
Слово перед точкою розглядається як шаблон для розширення назви шляху, за допомогою an
неявно додається зірочка. Цей шаблон використовується для створення списку збігів
імена файлів для можливих завершень.
glob-expand-word (Cx *)
Слово перед точкою розглядається як шаблон для розширення імені шляху та списку
вставляється відповідних імен файлів, замінюючи слово. Якщо числовий аргумент є
надається, перед розширенням імені шляху додається зірочка.
глобальний список-розширень (Cx g)
Список розширень, які були б створені за допомогою glob-expand-word is
відображається, і лінія перемальовується. Якщо вказано числовий аргумент, зірочка
додається перед розширенням імені шляху.
dump-функції
Надрукуйте всі функції та їх прив’язки клавіш у вихідний потік readline.
Якщо вказано числовий аргумент, вивід форматується таким чином, щоб він
можна зробити частиною an inputrc файлу.
дамп-змінні
Надрукуйте всі змінні рядка читання, які можна встановити, та їх значення в рядок читання
вихідний потік. Якщо вказано числовий аргумент, вихідний формат відформатується в такому форматі
спосіб, яким його можна зробити частиною inputrc файлу.
dump-макроси
Надрукуйте всі ключові послідовності рядка читання, пов’язані з макросами, і рядки, які вони містять
вихід. Якщо вказано числовий аргумент, вихідний формат відформатується таким чином
що його можна зробити частиною an inputrc файлу.
версія оболонки дисплея (Cx Резюме)
Відобразити інформацію про версію поточного екземпляра бити.

Програмований Завершення
Коли виконується спроба завершення слова для аргументу команди, для якої виконується завершення
специфікація (а compspec) було визначено за допомогою повний вбудований (див SHELL Вбудований
КОМАНДИ нижче), викликаються програмовані засоби завершення.

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

Після того, як compspec знайдено, він використовується для створення списку відповідних слів. Якщо
compspec не знайдено, за замовчуванням бити завершення, як описано вище в п Завершення is
виконується.

Спочатку використовуються дії, визначені compspec. Тільки збіги, які мають префікс
повертаються слова, що заповнюються. Коли -f or -d Опція використовується для імені файлу або
ім'я каталогу завершення, змінна оболонки ФІНЬОР використовується для фільтрації збігів.

Будь-які завершення, визначені шаблоном розширення імені шляху до -G генеруються варіанти
наступний. Слова, створені шаблоном, не обов’язково повинні відповідати слову, що заповнюється. The
ГЛОБІНОР Змінна оболонки використовується не для фільтрації збігів, а ФІНЬОР змінна є
використаний

Далі рядок, зазначений як аргумент для -W розглядається варіант. Нитка є
спочатку розділіть за допомогою символів у IFS спеціальні змінні як роздільники. Цитування оболонки
шанується. Потім кожне слово розгортається за допомогою розширення дужки, розширення тильди, параметра
і розширення змінних, підстановка команд і арифметичне розширення, як описано вище
при РОЗШИРЕННЯ. Результати розподіляються за правилами, описаними вище слово
Розщеплення. Результати розширення зіставляються за префіксом зі словом «буття».
завершено, а відповідні слова стають можливими завершеннями.

Після того, як ці збіги були згенеровані, будь-яка функція або команда оболонки, задана за допомогою
-F та -C викликається параметри. Коли команда або функція викликається, COMP_LINE,
COMP_POINT, COMP_KEY та COMP_TYPE змінним присвоюються значення, як описано вище в розділі
Склад Змінні. Якщо викликається функція оболонки, то COMP_WORDS та COMP_CWORD
також встановлюються змінні. Коли функція або команда викликається, перший аргумент ($1)
це назва команди, аргументи якої завершуються, другий аргумент ($2)
це слово, яке заповнюється, а третій аргумент ($3) — слово, що передує слову
завершується в поточному командному рядку. Відсутня фільтрація створених завершень
проти слова, що завершується, виконується; функція або команда завершена
свобода у генерації збігів.

Будь-яка функція, задана за допомогою -F викликається першим. Функція може використовувати будь-яку оболонку
об'єктів, у тому числі compgen вбудований модуль, описаний нижче, для створення збігів. Це
необхідно помістити можливі завершення в ЗОВНІСТЬ змінна масиву, по одній на елемент масиву.

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

Після створення всіх можливих завершень будь-який фільтр, зазначений за допомогою -X
параметр застосовується до списку. Фільтр - це шаблон, який використовується для розширення імені шляху; а
& у шаблоні замінюється текстом слова, що заповнюється. Буквальне & може
екранувати за допомогою зворотної косої риски; зворотний слеш видаляється перед спробою збігу. Будь-який
завершення, що відповідає шаблону, буде видалено зі списку. Ведуча ! заперечує
візерунок; в цьому випадку будь-яке завершення, що не відповідає шаблону, буде видалено.

Нарешті, будь-який префікс і суфікс, зазначені за допомогою -P та -S параметри додаються до кожного
член списку завершення, а результат повертається до коду завершення рядка читання
як список можливих завершень.

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

Якщо -o plusdirs був наданий варіант повний коли була визначена compspec,
Здійснюється спроба заповнення імені каталогу, і всі збіги додаються до результатів
інші дії.

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

Коли compspec вказує на те, що ім’я каталогу бажане, програмується
функції завершення змушують readline додавати косу риску до завершених імен, які є
символічні посилання на каталоги з урахуванням значення знак-довідники читальна лінія
змінної, незалежно від налаштування параметра mark-symlinked-directory змінна readline.

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

Наприклад, якщо припустити, що існує бібліотека compspecs, кожна з яких зберігається у файлі
відповідно до назви команди, буде виконуватися така функція завершення за замовчуванням
динамічно завантажувати завершення:

_completion_loader()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && повернути 124
}
завершити -D -F _completion_loader -o bashdefault -o за замовчуванням

ІСТОРІЯ


Коли -o історія варіант для комплект вбудована увімкнена, оболонка надає доступ до
команда історія, список раніше введених команд. Значення HISTSIZE
змінна використовується як кількість команд для збереження в списку історії. Текст в
останній HISTSIZE команди (за замовчуванням 500) збережено. Оболонка зберігає кожну команду в файлі
список історії перед розширенням параметрів і змінних (див РОЗШИРЕННЯ вище), але після
виконується розширення історії, залежно від значень змінних оболонки ГІСТИНОР
та ХІСТКОНТРОЛЬ.

Під час запуску історія ініціалізується з файлу, названого змінною HISTFILE
(за замовчуванням ~/.bash_history). Файл, названий за значенням HISTFILE урізається, якщо
необхідно, містити не більше, ніж кількість рядків, визначену значенням
HISTFILESIZE. Якщо HISTFILESIZE не встановлено або має значення null, нечислове або числове значення
значення менше нуля, файл історії не обрізається. Коли файл історії прочитано,
рядки, що починаються з символу коментаря історії, за яким одразу слідує цифра
інтерпретується як позначки часу для попереднього рядка історії. Ці позначки часу є необов’язковими
відображається залежно від значення HISTTIMEFORMAT змінний. Коли оболонка с
історія включених виходів, останній $HISTSIZE рядки копіюються зі списку історії до
$HISTFILE, Якщо histappend опція оболонки увімкнена (див. опис магазин при
SHELL Вбудований КОМАНДИ нижче), рядки додаються до файлу історії, інакше
файл історії перезаписаний. Якщо HISTFILE не встановлено, або якщо файл історії недоступний для запису,
історія не збережена. Якщо HISTTIMEFORMAT змінна встановлюється, мітки часу записуються
до файлу історії, позначеного символом коментаря історії, тому вони можуть бути збережені
через сеанси оболонки. Це використовує символ коментаря історії, щоб розрізняти позначки часу
з інших ліній історії. Після збереження історії файл історії обрізається до
містять не більше ніж HISTFILESIZE лінії. Якщо HISTFILESIZE не встановлено або встановлено на нуль, не
числове значення або числове значення менше нуля, файл історії не обрізається.

Вбудована команда fc (Див. SHELL Вбудований КОМАНДИ нижче) можна використовувати для переліку чи редагування та
повторно виконати частину списку історії. The історія вбудований можна використовувати для відображення або
змінювати список історії та маніпулювати файлом історії. При використанні редагування командного рядка,
У кожному режимі редагування доступні команди пошуку, які надають доступ до історії
список

Оболонка дозволяє контролювати, які команди зберігаються в списку історії. The
ХІСТКОНТРОЛЬ та ГІСТИНОР змінні можуть бути встановлені так, щоб оболонка зберігала лише підмножину
з введених команд. The cmdhist Опція shell, якщо ввімкнена, спричиняє роботу оболонки
спробуйте зберегти кожен рядок багаторядкової команди в одному записі історії, додавши
крапка з комою, де це необхідно для збереження синтаксичної правильності. The літіст варіант оболонки
змушує оболонку зберегти команду з вбудованими новими рядками замість крапки з комою. Подивитися
опис магазин вбудований нижче під SHELL Вбудований КОМАНДИ для інформації про
налаштування та скасування параметрів оболонки.

ІСТОРІЯ РОЗШИРЕННЯ


Оболонка підтримує функцію розширення історії, подібну до розширення історії в
csh. У цьому розділі описано, які синтаксичні функції доступні. Ця функція ввімкнена
за замовчуванням для інтерактивних оболонок і може бути вимкнено за допомогою +H варіант для комплект
вбудована команда (див SHELL Вбудований КОМАНДИ нижче). Неінтерактивні оболонки не працюють
розширення історії за замовчуванням.

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

Розгортання історії виконується відразу після прочитання повного рядка перед оболонкою
розбиває це на слова. Відбувається у двох частинах. Перший – визначити, яка лінія
зі списку історії для використання під час заміни. Другий – вибір порцій
цей рядок для включення до поточного. Рядок, вибраний з історії, є
подія, а частини цієї лінії, на які діють слова. Різноманітні модифікатори він має
доступні для маніпулювання виділеними словами. Рядок розбивається на слова в тому ж
мода як при читанні введення, так що кілька метасимвол-відокремлені слова в оточенні
цитати вважаються одним словом. Розширення історії вводяться появою
характер розширення історії, який є ! за замовчуванням. Тільки зворотна коса риса (\) і поодинокі
лапки можуть цитувати символ розширення історії.

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

Кілька параметрів оболонки, які можна налаштувати за допомогою магазин Вбудовану функцію можна використовувати для налаштування поведінки
розширення історії. Якщо histverify опція оболонки увімкнена (див. опис
магазин вбудований нижче), і читальна лінія використовується, заміни історії ні
негайно передано до синтаксичного аналізатора оболонки. Замість цього розгорнутий рядок перезавантажується в
читальна лінія буфер редагування для подальшої модифікації. Якщо читальна лінія використовується, і
histreedit увімкнено параметр оболонки, невдале підміна історії буде перезавантажено
читальна лінія буфер редагування для виправлення. The -p варіант для історія вбудована команда
можна використовувати, щоб побачити, що робитиме розширення історії перед його використанням. The -s варіант для
історія Вбудовану функцію можна використовувати для додавання команд у кінець списку історії без
фактично їх виконання, щоб вони були доступні для подальшого відкликання.

Оболонка дозволяє керувати різними символами, які використовуються механізмом розширення історії
(див. опис histchars вище під Склад Змінні). Оболонка використовує
символ коментаря історії для позначення часових позначок історії під час запису файлу історії.

Event Позначення
Індикатор події — це посилання на запис командного рядка в списку історії. Хіба що
посилання абсолютне, події відносно поточного положення в історії
список

! Розпочати заміну історії, за винятком випадків, коли слідує а порожній, новий рядок, каретка
return, = або ( (коли extglob Опція оболонки вмикається за допомогою магазин вбудований).
!n Зверніться до командного рядка n.
!-n Зверніться до поточної команди мінус n.
!! Зверніться до попередньої команди. Це синонім для `!-1'.
!рядок
Зверніться до останньої команди, яка передує поточній позиції в списку історії
починаючи з рядок.
!?рядок[?]
Зверніться до останньої команди, яка передує поточній позиції в списку історії
що містить рядок. Завершення ? може бути опущено, якщо рядок слід негайно
через новий рядок.
^string1^string2^
Швидка заміна. Повторіть попередню команду, замінивши string1 з string2.
Еквівалент ``!!:s/string1/string2/'' (подивитися Модифікатори нижче).
!# Поки що введено весь командний рядок.

слово Позначення
Позначення слів використовуються для вибору потрібних слів із події. А : відокремлює подію
специфікація від слова позначення. Його можна пропустити, якщо починається слово позначення
з ^, $, *, -або %. Слова нумеруються з початку рядка, з
перше слово позначається 0 (нуль). Слова вставляються в поточний рядок із розділеними
одиничними пробілами.

0 (нуль)
Нульове слово. Для оболонки це командне слово.
n Команда nго слово.
^ Перший аргумент. Тобто слово 1.
$ Останнє слово. Зазвичай це останній аргумент, але він розгортається до нуля
слово, якщо в рядку є лише одне слово.
% Слово, яке відповідає останнім `?рядок?' пошук.
x-y Різноманітність слів; `-y' скорочує '0-y'.
* Усі слова, крім нуля. Це синонім для `1-$'. Це не помилка
to use * якщо в події є лише одне слово; повертається порожній рядок
той випадок.
x* Скорочення х-$.
x- Скорочення х-$ як x*, але пропускає останнє слово.

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

Модифікатори
Після необов'язкового позначення слів може з'явитися послідовність з одного або кількох з
наступні модифікатори, перед кожним із яких стоїть `:'.

h Видаліть кінцевий компонент імені файлу, залишивши лише заголовок.
t Видаліть усі провідні компоненти імені файлу, залишивши хвіст.
r Видаліть кінцевий суфікс форми Ххх., залишаючи базову назву.
e Видаліть усі, крім кінцевого суфікса.
p Роздрукуйте нову команду, але не виконуйте її.
q Процитуйте замінені слова, уникаючи подальших замін.
x Процитуйте слова, замінені як з q, але розбиватися на слова на заготовки і нові рядки.
s/старий/new/
Замінити new при першому появі старий в рядку подій. Будь-який роздільник
можна використовувати замість /. Кінцевий роздільник необов’язковий, якщо він останній
характер лінії події. Розмежувач може бути в лапках старий та new з
одинарна зворотна коса риса. Якщо & з’являється в new, його замінено на старий. Одна зворотна коса риса
буде цитувати &. Якщо старий є нульовим, він встановлюється на останній старий замінено, або, якщо ні
відбулися попередні заміни історії, останні рядок В !?рядок[?]
пошук.
& Повторіть попередню заміну.
g Застосовувати зміни до всієї лінії подій. Це використовується в
поєднання з `:s' (наприклад, `:gs/старий/new/') або `:&'. Якщо використовується з `:s', будь-який
роздільник можна використовувати замість /, а кінцевий роздільник необов'язковий, якщо він є
останній символ рядка події. An a може використовуватися як синонім для g.
G Застосуйте наступне `s' один раз до кожного слова в рядку подій.

SHELL Вбудований КОМАНДИ


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

. ім'я файлу [аргументація]
джерело ім'я файлу [аргументація]
Читати та виконувати команди з ім'я файлу у поточному середовищі оболонки та повернутися
статус виходу з останньої виконаної команди ім'я файлу. Якщо ім'я файлу НЕ
містять косу риску, імена файлів в PATH використовуються для пошуку каталогу, що містить
ім'я файлу. Файл, який шукали в PATH не повинні бути виконуваними. Коли бити НЕ
in posix режим, пошук у поточному каталозі здійснюється, якщо в ньому не знайдено жодного файлу PATH. Якщо
вихідний шлях варіант для магазин вбудована команда вимкнена, PATH НЕ
шукали. Якщо хто-небудь аргументація подаються, вони стають параметрами позиції
коли ім'я файлу виконується. В іншому випадку параметри позиції не змінюються. The
return status — це статус останньої команди, що вийшла зі сценарію (0, якщо ні
команди виконуються), і false if ім'я файлу не знайдено або неможливо прочитати.

псевдонім [-p] [ім'я[=значення] ...]
кличка без аргументів або з -p параметр друкує список псевдонімів у
форма псевдонім ім'я=значення на стандартному виході. Коли аргументи надаються, псевдонім є
визначені для кожного ім'я чий значення надається. Кінцевий простір у значення причини
наступне слово, яке буде перевірено на заміну псевдоніма, коли псевдонім розгортається. Для
кожен ім'я у списку аргументів, для яких немає значення надається, назва та значення
псевдоніма друкується. кличка повертає true, якщо a ім'я надається, для яких немає
псевдонім було визначено.

bg [спец ...]
Відновити кожну призупинену роботу спец на задньому плані, ніби з нього почали
&. Якщо спец немає, поняття оболонки ток робота використовується. bg
спец повертає 0, якщо запустити, коли контроль завдань вимкнено, або під час виконання із завданням
контроль увімкнено, будь-який вказаний спец не було знайдено або розпочато без роботи
контролювати.

пов'язувати [-m клавіша] [-lpsvPSVX]
пов'язувати [-m клавіша] [-q функція] [-u функція] [-r keyseq]
пов'язувати [-m клавіша] -f ім'я файлу
пов'язувати [-m клавіша] -x keyseq:оболонка-команда
пов'язувати [-m клавіша] keyseq:ім'я функції
пов'язувати readline-команда
Дисплей поточного читальна лінія прив’язки клавіш і функцій, прив’язати послідовність клавіш до a
читальна лінія функцію або макрос, або встановити a читальна лінія змінний. Кожен аргумент без варіантів
є командою, як вона буде виглядати в .inputrc, але кожна прив’язка або команда має бути
передається як окремий аргумент; наприклад, '"\Cx\Cr": перечитати-ініціал-файл'. Варіанти, якщо
надаються, мають такі значення:
-m клавіша
Скористайтесь клавіша як клавіатуру, на яку впливають наступні прив’язки.
Прийнятний клавіша імена є emacs, emacs-стандарт, emacs-meta, emacs-ctlx,
vi, vi-переміщення, vi-команда та vi-вставка. vi еквівалентна vi-команда;
emacs еквівалентна emacs-стандарт.
-l Перелічіть імена всіх читальна лінія функції.
-p дисплей читальна лінія імена функцій та прив’язки таким чином, щоб вони могли бути
перечитати.
-P Список поточних читальна лінія імена функцій і прив'язки.
-s дисплей читальна лінія ключові послідовності, пов’язані з макросами, і рядки, які вони виводять
таким чином, щоб їх можна було перечитати.
-S дисплей читальна лінія ключові послідовності, пов’язані з макросами, і рядки, які вони виводять.
-v дисплей читальна лінія імена та значення змінних таким чином, щоб вони могли бути
перечитати.
-V Список поточних читальна лінія імена та значення змінних.
-f ім'я файлу
Читайте прив'язки клавіш із ім'я файлу.
-q функція
Запит про те, які ключі викликають названий функція.
-u функція
Розв’язати всі ключі, прив’язані до названого функція.
-r keyseq
Видаліть усі поточні прив’язки для keyseq.
-x keyseq:оболонка-команда
Викликати оболонка-команда виконуватися будь-коли keyseq вводиться. Коли
оболонка-команда виконується, оболонка встановлює READLINE_LINE змінна до
зміст читальна лінія рядковий буфер і READLINE_POINT змінна до
поточне розташування точки вставки. Якщо виконана команда змінюється
Значення READLINE_LINE or READLINE_POINT, ці нові значення будуть
відображається в стані редагування.
-X Перелік усіх послідовностей клавіш, пов’язаних з командами оболонки, і пов’язаними з ними командами
у форматі, який можна повторно використовувати як вхідні дані.

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

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

вбудований вбудований в оболонку [аргументація]
Виконайте вказану вбудовану оболонку, передаючи її аргументація, і повернути його вихід
статус. Це корисно під час визначення функції, назва якої збігається з назвою оболонки
вбудована, зберігаючи функціональність вбудованої в межах функції. The cd
вбудований зазвичай перевизначається таким чином. Статус повернення false if
вбудований в оболонку не є вбудованою командою оболонки.

гість [експр]
Повертає контекст будь-якого активного виклику підпрограми (функції оболонки або сценарію
виконано за допомогою . or джерело вбудовані). Без експр, гість відображає рядок
номер і назва вихідного файлу поточного виклику підпрограми. Якщо невід’ємний
ціле число подається як експр, гість відображає номер рядка, назву підпрограми та
вихідний файл, що відповідає цій позиції в поточному стеку викликів виконання.
Ця додаткова інформація може бути використана, наприклад, для друку трасування стека. The
поточний кадр — кадр 0. Повертається значення — 0, якщо оболонка не виконується
виклик підпрограми або експр не відповідає дійсній позиції у виклику
стек

cd [-L|[-P [-e]] [-@]] [реж]
Змініть поточний каталог на реж. якщо реж не надається, значення ГОЛОВНА
Змінна оболонки є за замовчуванням. Будь-які додаткові аргументи далі реж ігноруються.
Змінна CDPATH визначає шлях пошуку для каталогу, що містить реж: кожен
ім'я каталогу в CDPATH розшукується реж. Альтернативні назви каталогів у
CDPATH відокремлюються двокрапкою (:). Нульова назва каталогу в CDPATH те ж саме
як поточний каталог, тобто ``.''. Якщо реж починається з косої риски (/), потім CDPATH
не використовується. The -P варіант причин cd використовувати фізичну структуру каталогів by
розв’язування символічних посилань під час проходження реж і перед обробкою екземплярів ..
in реж (див. також -P варіант для комплект вбудована команда); в -L опціонні сили
символічні посилання, за якими слід розв’язувати посилання після обробки екземплярів
.. in реж. Якщо .. з'являється в реж, він обробляється шляхом негайного видалення
попередній компонент імені шляху від реж, назад до косої риски або початку реж. Якщо
-e опція постачається з -P, а поточний робочий каталог не може бути
успішно визначено після успішної зміни каталогу, cd поверне
невдалий статус. На системах, які його підтримують, -@ опція представляє
розширені атрибути, пов’язані з файлом як каталогом. Аргумент про - is
перетворений на $OLDPWD перед спробою змінити каталог. Якщо не порожній
ім'я каталогу з CDPATH використовується, або якщо - є першим аргументом і
зміна каталогу пройшла успішно, абсолютний шлях до нового робочого каталогу
записується в стандартний вихід. Повернене значення є істинним, якщо каталог був
успішно змінено; false в іншому випадку.

команда [-pVv] команда [аргумент ...]
прогін команда з аргументи придушення звичайного пошуку функції оболонки. Тільки вбудований
команди або команди, знайдені в PATH виконуються. Якщо -p надається варіант,
пошук команда виконується з використанням значення за замовчуванням для PATH тобто
гарантовано знайти всі стандартні утиліти. Якщо будь-який -V or -v опція
надається, опис команда друкується. The -v опція викликає одне слово
вказує на ім'я команди або файлу, що використовується для виклику команда відображатися; в -V
Опція створює більш докладний опис. Якщо -V or -v надається опція,
статус виходу дорівнює 0, якщо команда було знайдено, і 1, якщо ні. Якщо жоден варіант не є
надано і сталася помилка або команда неможливо знайти, статус виходу 127.
В іншому випадку статус виходу команда вбудований - це статус виходу команда.

compgen [варіант] [слово]
Згенерувати можливі відповідності завершення для слово згідно варіантs, який може
будь-який варіант, прийнятий повний вбудований за винятком -p та -r та
записати збіги до стандартного виведення. При використанні -F or -C варіанти,
різні змінні оболонки, встановлені програмованими засобами завершення, в той час як
доступні, не матиме корисних значень.

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

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

повний [-abcdefgjksuv] [-o комп-опція] [-DE] [-A дію] [-G глобпат] [-W список слів] [-F
функція] [-C команда]
[-X filterpat] [-P префікс] [-S Суфікс] ім'я [ім'я ...]
повний -пр [-DE] [ім'я ...]
Укажіть, як аргументи для кожного ім'я має бути завершено. Якщо -p опція
надано, або якщо опції не надано, наявні специфікації завершення є
надруковані таким чином, щоб їх можна було повторно використовувати як вхідні дані. The -r параметр видаляє a
специфікація завершення для кожного ім'я, або, якщо ні ім'яs постачаються, все
специфікації завершення. The -D Параметр вказує, що інші параметри і
дії повинні застосовуватися до завершення команди ``за замовчуванням''; тобто завершення
спроба виконання команди, для якої раніше не було визначено завершення. The -E
Параметр вказує, що інші параметри та дії мають застосовуватися до ``empty''
виконання команди; тобто спроба завершення на порожньому рядку.

Процес застосування цих специфікацій завершення під час завершення слів
спроба описана вище під Програмований Завершення.

Інші варіанти, якщо вказано, мають такі значення. Аргументи до -G,
-W та -X варіанти (і, якщо необхідно, -P та -S варіанти) слід процитувати
захистити їх від розширення до повний викликається вбудована.
-o комп-опція
Команда комп-опція контролює декілька аспектів поведінки compspec
просте генерування завершень. комп-опція може бути одним із:
bashdefault
Виконайте решту за замовчуванням бити завершення, якщо compspec
не генерує збігів.
дефолт Використовуйте завершення імені файлу за замовчуванням для readline, якщо compspec
не генерує збігів.
імена
Виконайте заповнення імені каталогу, якщо compspec генерує номер
сірники.
імена файлів
Скажіть readline, що compspec генерує імена файлів, тому він може
виконати будь-яку обробку, яка залежить від імені файлу (наприклад, додавання косої риски до
імена каталогів, цитування спеціальних символів або придушення
кінцеві пробіли). Призначений для використання з функціями оболонки.
без цитати Скажіть readline не цитувати завершені слова, якщо вони є
назви файлів (за замовчуванням введення назв файлів у лапки).
немає простору Скажіть readline не додавати пробіл (за замовчуванням) до слів
завершено в кінці рядка.
plusdirs
Після створення будь-яких збігів, визначених compspec, каталог
Зроблено спробу введення імені, і всі збіги додаються до
результати інших дій.
-A дію
Команда дію може бути одним із наступних для створення списку можливих
завершення:
псевдонім Псевдоніми. Також може бути зазначено як -a.
arrayvar
Імена змінних масиву.
обов'язковий Лінія читання імена прив'язки клавіш.
вбудований Назви вбудованих команд оболонки. Також може бути зазначено як -b.
команда Назви команд. Також може бути зазначено як -c.
каталог
Назви каталогів. Також може бути зазначено як -d.
інвалід
Назви відключених вбудованих оболонок.
включений Назви вбудованих оболонок.
експорт Назви експортованих змінних оболонки. Також може бути зазначено як -e.
файл Імена файлів. Також може бути зазначено як -f.
функція
Назви функцій оболонки.
група Назви груп. Також може бути зазначено як -g.
тема довідки
Теми допомоги, як прийнято допомога вбудований.
ім'я хоста
Імена хостів, взяті з файлу, зазначеного в HOSTFILE оболонка
змінна.
робота Назви завдань, якщо контроль завдань активний. Також може бути зазначено як -j.
ключове слово Зарезервовані слова оболонки. Також може бути зазначено як -k.
біг Назви виконуваних завдань, якщо контроль завдань активний.
обслуговування Назви служб. Також може бути зазначено як -s.
сетопт Слушні аргументи на користь -o варіант для комплект вбудований.
магазин Назви параметрів оболонки, як прийнято магазин вбудований.
сигналізувати Назви сигналів.
зупинений Назви зупинених завдань, якщо контроль завдань активний.
користувач Імена користувачів. Також може бути зазначено як -u.
змінна
Назви всіх змінних оболонки. Також може бути зазначено як -v.
-C команда
команда виконується в середовищі підоболонки, а його вихід використовується як
можливі завершення.
-F функція
Функція оболонки функція виконується в поточному середовищі оболонки.
Коли функція виконується, перший аргумент ($1) це назва
команда, аргументи якої завершуються, другий аргумент ($2) є
слово, яке заповнюється, і третій аргумент ($3) є словом перед
слово, яке заповнюється в поточному командному рядку. Коли він закінчиться,
можливі завершення витягуються зі значення ЗОВНІСТЬ
змінна масиву.
-G глобпат
Шаблон розширення імені шляху глобпат розширюється для створення можливого
завершення.
-P префікс
префікс зрештою, додається на початку кожного можливого завершення
були застосовані інші варіанти.
-S Суфікс
Суфікс додається до кожного можливого завершення після всіх інших параметрів
було застосовано.
-W список слів
Команда список слів розбивається за допомогою символів у IFS спеціальна змінна як
роздільники, і кожне результуюче слово розгортається. Можливі завершення
є членами результуючого списку, які відповідають слову, що заповнюється.
-X filterpat
filterpat є шаблоном, який використовується для розширення імені шляху. Застосовується до
список можливих завершень, згенерований попередніми параметрами та
аргументи та відповідність кожного завершення filterpat вилучається зі списку.
Провідний ! in filterpat заперечує шаблон; в даному випадку будь-яке завершення
не відповідає filterpat видаляється.

Повертане значення є істинним, якщо не вказано недійсний параметр, інший параметр, ніж
-p or -r постачається без а ім'я аргумент, робиться спроба видалити a
специфікація завершення для a ім'я для яких не існує специфікації або помилка
відбувається додавання специфікації завершення.

компот [-o варіант] [-DE] [+o варіант] [ім'я]
Змініть параметри завершення для кожного ім'я згідно варіантs, або для
поточне завершення, якщо ні ім'яs постачаються. Якщо ні варіантs дано,
відобразити варіанти завершення для кожного ім'я або поточне завершення. The
можливі значення варіант чи дійсні для повний вбудований, описаний вище.
Команда -D Параметр вказує, що інші параметри мають застосовуватися до `` за замовчуванням''
виконання команди; тобто спроба завершення за командою, для якої немає
завершення було визначено раніше. The -E Параметр вказує, що залишилося
параметри повинні застосовуватися до завершення команди ``порожній''; тобто спроба завершення
на порожньому рядку.

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

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

декларувати [-aAfFgilnrtux] [-p] [ім'я[=значення] ...]
набірний [-aAfFgilnrtux] [-p] [ім'я[=значення] ...]
Оголосити змінні та/або надати їм атрибути. Якщо ні ім'яs надаються, а потім відображаються
значення змінних. The -p параметр відображатиме атрибути та значення
кожен ім'я. Коли -p використовується з ім'я аргументи, додаткові варіанти, крім -f
та -F, ігноруються. Коли -p поставляється без ім'я аргументів, він відобразиться
атрибути та значення всіх змінних, які мають атрибути, зазначені в
додаткові опції. Якщо немає інших опцій -p, декларувати відображатиметься
атрибути та значення всіх змінних оболонки. The -f параметр обмежить
функції відображення в оболонку. The -F параметр блокує відображення функції
визначення; друкуються лише назва функції та атрибути. Якщо extdebug
Опція оболонки активована за допомогою магазин, ім'я вихідного файлу та номер рядка, де
визначена функція також відображаються. The -F варіант передбачає -f, -g
option змушує змінні створюватися або змінюватися в глобальній області видимості, навіть якщо
декларувати виконується у функції оболонки. У всіх інших випадках він ігнорується. The
Наступні параметри можна використовувати для обмеження виводу змінними із зазначеним
атрибут або надати змінним атрибути:
-a Кожен ім'я є змінною індексованого масиву (див Масиви вище).
-A Кожен ім'я є змінною асоціативного масиву (див Масиви вище).
-f Використовуйте лише назви функцій.
-i Змінна розглядається як ціле число; арифметичне оцінювання (див АРИФМЕТИКА
ОЦІНКА вище) виконується, коли змінній присвоюється значення.
-l Коли змінній присвоєно значення, усі символи верхнього регістру є
перетворено на нижній регістр. Атрибут верхнього регістру вимкнено.
-n Дайте кожному ім'я nameref атрибут, що робить його посиланням на іншу назву
змінний. Ця інша змінна визначається значенням ім'я, Всі
посилання та завдання на ім'я, крім зміни -n атрибут
самі по собі виконуються для змінної, на яку посилається ім'язначення 's. The -n
атрибут не можна застосувати до змінних масиву.
-r зробити ім'ятільки для читання. Цим іменам не можна буде присвоювати значення
наступні оператори присвоєння або не встановлені.
-t Дайте кожному ім'я простежувати атрибут. Простежені функції успадковують DEBUG та
ПОВЕРНЕННЯ пастки від оболонки виклику. Атрибут trace не має особливого значення
значення для змінних.
-u Коли змінній присвоєно значення, усі символи нижнього регістру є
перетворено у верхній регістр. Атрибут нижнього регістру вимкнено.
-x Відзначити ім'яs для експорту до наступних команд через середовище.

Використання "+" замість "-" вимикає атрибут, за винятком, що
+a не можна використовувати для знищення змінної масиву та +r не видалить лише для читання
атрибут. При використанні у функції, декларувати та набірний зробити кожен ім'я місцевий, як
з місцевий команду, якщо не -g надається опція. Якщо ім’я змінної є
потім =значення, значенням змінної встановлено значення значення. При використанні -a or -A
і складений синтаксис присвоєння для створення змінних масивів, додаткових атрибутів
не набирають чинності до наступних призначень. Повертається значення 0, якщо an
зустрічається недійсний параметр, робиться спроба визначити функцію за допомогою ``-f
foo=bar'', робиться спроба призначити значення змінній лише для читання, спроба
призначено для призначення значення змінній масиву без використання з’єднання
синтаксис присвоєння (див Масиви вище), один з Імена не є дійсною оболонкою
ім’я змінної, робиться спроба вимкнути статус тільки для читання для лише для читання
змінної, робиться спроба вимкнути статус масиву для змінної масиву, або an
робиться спроба відобразити неіснуючу функцію за допомогою -f.

диски [-clpv] [+n] [-n]
Без параметрів відображає список каталогів, які зараз запам’ятовуються. The
за замовчуванням відображається в одному рядку з іменами каталогів, розділеними пробілами.
Каталоги додаються до списку за допомогою Pushd команда; в POPD команда видаляє
записи зі списку.
-c Очищає стек каталогів, видаляючи всі записи.
-l Створює список з повними іменами шляхів; формат списку за замовчуванням використовує a
тильда для позначення домашнього каталогу.
-p Надрукуйте стек каталогів з одним записом на рядок.
-v Надрукуйте стек каталогів з одним записом на рядок, додаючи до кожного запису префікс
його індекс у стеку.
+n Відображає nй запис, рахуючи зліва від списку, показаного диски коли
викликається без параметрів, починаючи з нуля.
-n Відображає nй запис, рахуючи справа від списку, показаного диски
при виклику без параметрів, починаючи з нуля.

Повертається значення 0, якщо не вказано недійсний параметр або n індекси за межами
кінець стека каталогів.

відректися [-ар] [-h] [спец ...]
Без параметрів видалити кожен спец з таблиці активних робіт. Якщо спец is
ні, ні -a ні -r опція постачається, ток робота is
використаний. Якщо -h надається варіант, кожен спец не знімається зі столу, але
позначено так, що ЗДИХАННЯ не надсилається до завдання, якщо оболонка отримує a ЗДИХАННЯ. Якщо
немає спец постачається, -a опція означає видалення або позначку всіх завдань; в -r
варіант без а спец аргумент обмежує операцію запущеними завданнями. Повернення
значення дорівнює 0, якщо a спец не вказує дійсну роботу.

нудьгувати [-neE] [аргумент ...]
Вивести аргументs, розділені пробілами, за якими слідує новий рядок. Статус повернення
0, якщо не трапиться помилка запису. Якщо -n вказано, кінцевий новий рядок є
придушені. Якщо -e надано варіант, інтерпретація наступної зворотної косої риски-
екрановані символи ввімкнено. The -E параметр вимикає їх інтерпретацію
escape-символи, навіть у системах, де вони інтерпретуються за замовчуванням. The
xpg_echo Опція оболонки може використовуватися для динамічного визначення чи ні нудьгувати
за замовчуванням розширює ці escape-символи. нудьгувати не інтерпретує -- означати
кінець варіантів. нудьгувати інтерпретує наступні escape-послідовності:
\a сповіщення (дзвінок)
\b повернення на одну позицію
\c придушити подальший вихід
\e
\E втечний символ
\f форма корму
\n нова лінія
\r повернення вагона
\t горизонтальна вкладка
\v вертикальна вкладка
\\ зворотний слеш
\0NNN восьмирозрядний символ, значення якого є вісімковим NNN (від нуля до трьох
вісімкові цифри)
\xHH восьмирозрядний символ, значення якого є шістнадцятковим HH (один або два
шістнадцяткові цифри)
\uХе-е-е символ Unicode (ISO/IEC 10646), значення якого є шістнадцятковим
Хе-е-е (від однієї до чотирьох шістнадцяткових цифр)
\UХХХХХХХХ
символ Unicode (ISO/IEC 10646), значення якого є шістнадцятковим
ХХХХХХХХ (від однієї до восьми шістнадцяткових цифр)

включіть [-a] [-dnps] [-f ім'я файлу] [ім'я ...]
Увімкнути та вимкнути вбудовані команди оболонки. Вимкнення вбудованого дозволяє диск
Команда, яка має те саме ім'я, що і вбудована оболонка, яка виконується без неї
вказуючи повний шлях, навіть якщо оболонка зазвичай шукає вбудовані програми
перед дисковими командами. Якщо -n використовується, кожен ім'я є відключеним; інакше, Імена він має
увімкнено. Наприклад, використовувати тест двійковий файл, знайдений через PATH замість
вбудовану версію оболонки, запустіть ``enable -n test''. The -f Параметр означає завантаження нового
вбудована команда ім'я від спільного об'єкта ім'я файлу, на системах, які підтримують динамічні
завантаження. The -d Параметр видалить вбудовану програму, завантажену раніше -f. Якщо ні
ім'я наводяться аргументи, або якщо -p надається параметр, список вбудованих оболонок
друкується. Без інших аргументів параметра список складається з усіх увімкнених оболонк
вбудовані. Якщо -n постачається, друкуються лише відключені вбудовані модулі. Якщо -a is
надрукований список містить усі вбудовані модулі із зазначенням чи
не кожен увімкнено. Якщо -s надається, вихід обмежується POSIX
спеціальний вбудовані. Повертається значення 0, якщо a ім'я не є вбудованою оболонкою або
сталася помилка під час завантаження нової вбудованої програми зі спільного об’єкта.

евал [аргумент ...]
Команда аргументs читаються та об'єднуються в одну команду. Ця команда є
потім читається і виконується оболонкою, а її статус виходу повертається як значення
of евал. Якщо немає аргументиабо лише нульові аргументи, евал повертається 0.

Exec [-кл] [-a ім'я] [команда [аргументація]]
If команда вказано, він замінює оболонку. Новий процес не створюється. The
аргументація стати аргументами до команда, Якщо -l опція поставляється, оболонка
розміщує тире на початку нульового аргументу, до якого передано команда, Це
що Логін(1) робить. The -c варіант причин команда виконуватися з порожнім
середовище. Якщо -a поставляється, оболонка проходить ім'я як нульовий аргумент до
виконану команду. Якщо команда не може бути виконано з якихось причин, не-
інтерактивна оболонка виходить, якщо не execfail опція оболонки увімкнена. У цьому
випадку, він повертає помилку. Інтерактивна оболонка повертає помилку, якщо файл не може
бути виконаним. Якщо команда не вказано, будь-які перенаправлення вступають в силу в
поточної оболонки, а статус повернення дорівнює 0. Якщо є помилка переспрямування, файл
статус повернення 1.

вихід [n]
Викликати вихід оболонки зі статусом n. Якщо n пропущено, статус виходу:
останньої виконаної команди. Пастка на EXIT виконується перед оболонкою
припиняється.

експорт [-fn] [ім'я[=слово]] ...
експорт -p
У комплекті Імена позначені для автоматичного експорту в середовище
згодом виконувані команди. Якщо -f надається варіант, в Імена звертатися до
функції. Якщо ні Імена надаються, або якщо -p надається опція, список імен
всіх експортованих змінних друкується. The -n Параметр викликає властивість експорту до
видаляти з кожного ім'я. Якщо після імені змінної стоїть знак =слово, значення
змінна встановлена ​​на слово. експорт повертає статус виходу 0, якщо недійсний
зустрічається варіант, один із Імена не є дійсним ім'ям змінної оболонки або -f
постачається з a ім'я це не функція.

fc [-e емаль] [-lnr] [перший] [останній]
fc -s [поплескування=репутація] [CMD]
Перша форма вибирає діапазон команд перший до останній зі списку історії
і відображає або редагує та повторно виконує їх. Перший та останній може бути зазначено як a
рядок (щоб знайти останню команду, яка починається з цього рядка) або як число (an
індекс у список історії, де від’ємне число використовується як зміщення від
поточний номер команди). Якщо останній не вказано, для нього встановлено поточну команду
для списку (щоб ``fc -l -10'' друкував останні 10 команд) та перший
інакше. Якщо перший не вказано, для редагування встановлено попередню команду
і -16 для переліку.

Команда -n Параметр пригнічує номери команд під час переліку. The -r варіант змінюється
порядок виконання команд. Якщо -l задано параметр, команди перераховані на
стандартний вихід. В іншому випадку редактор надає емаль викликається у файлі
які містять ці команди. Якщо емаль не надається, значення FCEDIT змінна
використовується, а значення РЕДАКТОР if FCEDIT не встановлено. Якщо жодна змінна не встановлена,
vi використовується. Після завершення редагування відредаговані команди відображаються і виконуються.

У другій формі, команда повторно виконується після кожного екземпляра поплескування замінюється
by репутація. Command тлумачиться так само, як перший вище. Корисний псевдонім для використання
це ``r="fc -s"'', тому введення ``r cc'' запускає останню команду, яка починається з
``cc'' і введення ``r'' повторно виконує останню команду.

Якщо використовується перша форма, повертається значення 0, якщо не є недійсним параметром
зіткнулися або перший or останній вказати рядки історії за межами діапазону. Якщо -e варіант
надається, повертається значенням є значення останньої виконаної команди або невдалої
якщо виникає помилка з тимчасовим файлом команд. Якщо друга форма
використовується, статусом повернення є статус повторно виконаної команди, якщо CMD НЕ
вкажіть дійсний рядок історії, у цьому випадку fc повертає невдачу.

fg [спец]
Резюме спец на передньому плані, і зробити це поточною роботою. Якщо спец НЕ
теперішнє поняття оболонки ток робота використовується. Повертається значення таке
команди, розміщеної на передньому плані, або помилка, якщо виконується під час керування завданнями
вимкнено або, якщо запущено з увімкненим керуванням завданнями, якщо спец не вказує дійсний
робота або спец вказує завдання, яке було розпочато без контролю завдання.

getopts рядок параметрів ім'я [аргументи]
getopts використовується процедурами оболонки для аналізу позиційних параметрів. рядок параметрів
містить символи опції, які потрібно розпізнати; якщо після символу стоїть a
двокрапка, очікується, що параметр матиме аргумент, від якого слід відокремлювати
це за пробілом. Двокрапку та знак питання не можна використовувати як
символи опції. Кожен раз, коли його викликають, getopts розміщує наступний варіант у
змінна оболонки ім'я, ініціалізація ім'я якщо його немає, і індекс
наступний аргумент, який буде оброблено в змінну OPTIND. OPTIND ініціалізується на 1
щоразу, коли викликається оболонка або сценарій оболонки. Коли опція вимагає
аргумент, getopts розміщує цей аргумент у змінній OPTARG. Оболонка робить
не скидається OPTIND автоматично; його потрібно скинути вручну між кількома викликами до
getopts в межах того самого виклику оболонки, якщо потрібно використовувати новий набір параметрів.

Коли ви побачите кінець параметрів, getopts виходить із значенням, що повертається, більшим
ніж нуль. OPTIND встановлюється на індекс першого аргументу без опції, і ім'я
встановлено на ?.

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

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

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

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

getopts повертає true, якщо знайдено опцію, задану чи невизначену. Воно повертається
false, якщо зустрічається кінець параметрів або виникає помилка.

мішанина [-лр] [-p ім'я файлу] [-dt] [ім'я]
Щоразу мішанина викликається повний шлях до команди ім'я визначається
пошук у каталогах $ PATH і згадав. Будь-яке раніше-згадане
ім'я шляху відкидається. Якщо -p надається параметр, пошук шляху не виконується,
та ім'я файлу використовується як повне ім'я файлу команди. The -r варіант викликає
оболонка, щоб забути всі запам'ятовані місця. The -d Параметр змушує оболонку забути
пам’ятне місце розташування кожного ім'я, Якщо -t опція постачається, повна
ім’я шляху, до якого кожен ім'я відповідає друкується. Якщо кілька ім'я аргументи є
постачається з -t, ім'я друкується перед хешованим повним ім'ям шляху. The -l
Параметр призводить до того, що вихідні дані відображаються у форматі, який можна повторно використовувати як вхідні дані. Якщо
не наводяться аргументи, або якщо тільки -l надається, інформація про запам'ятовується
команди друкується. Статус повернення є істинним, якщо a ім'я не знайдено або an
вказано недійсний варіант.

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

Статус повернення дорівнює 0, якщо жодна команда не відповідає модель.

історія [n]
історія -c
історія -d зсув
історія -anrw [ім'я файлу]
історія -p аргумент [аргумент ...]
історія -s аргумент [аргумент ...]
Якщо параметрів немає, відобразіть список історії команд із номерами рядків. Перераховані рядки
з * були змінені. Аргумент про n перелічує лише останній n лінії. Якщо
змінна оболонки HISTTIMEFORMAT встановлено і не має значення null, він використовується як рядок форматування
та цінності strftime(3) для відображення позначки часу, пов’язаної з кожною відображеною історією
вхід. Між відформатованою міткою часу і символом не друкується проміжний пробіл
лінія історії. Якщо ім'я файлу надається, використовується як ім'я файлу історії;
якщо ні, то значення HISTFILE використовується. Опції, якщо вони є, мають наступне
значення:
-c Очистіть список історії, видаливши всі записи.
-d зсув
Видалити запис історії на позиції зсув.
-a Додайте ``нові'' рядки історії (рядки історії, введені з початку
струму бити сеанс) у файл історії.
-n Прочитайте рядки історії, які ще не прочитані з файлу історії, у файл
список поточної історії. Це рядки, додані до файлу історії з тих пір
початок течії бити сесія
-r Прочитайте вміст файлу історії та додайте його до поточної історії
список
-w Запишіть поточний список історії до файлу історії, перезаписуючи історію
вміст файлу.
-p Виконайте заміну історії на наступному аргументи і відобразити результат на
стандартний вихід. Не зберігає результати в списку історії. Кожен
аргумент має бути в лапках, щоб вимкнути звичайне розширення історії.
-s Зберігайте аргументи у списку історії як один запис. Остання команда в
список історії видаляється перед аргументи додаються.

Якщо HISTTIMEFORMAT змінна встановлена, інформація про позначку часу пов’язана з
кожен запис історії записується у файл історії, позначений коментарем історії
характер. Коли читається файл історії, рядки починаються з коментаря історії
символ, за яким відразу слідує цифра, інтерпретуються як позначки часу для
попередня лінія історії. Повертається значення 0, якщо не є недійсним параметром
виникла помилка під час читання або запису файлу історії, недійсна
зсув надається як аргумент до -d, або розширення історії, що надається як файл
аргумент до -p не вдається.

роботи [-lnprs] [ спец ...]
роботи -x команда [ аргументи ...]
Перша форма містить список активних завдань. Опції мають такі значення:
-l Перерахуйте ідентифікатори процесів на додаток до звичайної інформації.
-n Відображати інформацію лише про завдання, статус яких змінився після користувача
було останнє сповіщене про їхній статус.
-p Укажіть лише ідентифікатор процесу керівника групи процесів завдання.
-r Відображати лише запущені завдання.
-s Відображати лише зупинені завдання.

If спец дається, вихід обмежується інформацією про це завдання. The
статус повернення дорівнює 0, якщо не знайдено недійсний параметр або недійсний спец is
постачається.

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

вбивати [-s sigspec | -n сигнум | -sigspec] [ПІД | спец] ...
вбивати -l [sigspec | exit_status]
Надіслати сигнал від імені sigspec or сигнум до процесів, названих за ПІД or
спец. sigspec це або ім’я сигналу без урахування регістру, наприклад SIGKILL (з або
без того SIG префікс) або номер сигналу; сигнум є сигнальним номером. Якщо sigspec
немає, значить СИГТЕРМ передбачається. Аргумент про -l перелічує назви сигналів.
Якщо надаються аргументи, коли -l наведено назви сигналів
відповідні аргументи перераховані, а статус повернення дорівнює 0. The
exit_status аргумент до -l це число, що вказує або номер сигналу, або номер
вихідний стан процесу, що завершився сигналом. вбивати повертає true, якщо хоча б один
сигнал успішно надіслано, або хибний, якщо сталася помилка або неправильний параметр
стикалися.

дозволяти аргумент [аргумент ...]
Кожен аргумент є арифметичним виразом, який потрібно оцінити (див АРИФМЕТИКА ОЦІНКА
вище). Якщо останній аргумент оцінює до 0, дозволяти повертає 1; В іншому випадку повертається 0.

місцевий [варіант] [ім'я[=значення] ...]
Для кожного аргументу локальна змінна з іменем ім'я створюється та призначається значення,
варіант може бути будь-який з варіантів, прийнятих декларувати. Коли місцевий використовується в межах a
функція, вона викликає змінну ім'я мати видиму область, обмежену цим
функція та її діти. Без операндів, місцевий пише список місцевих
змінних до стандартного виводу. Це помилка у використанні місцевий коли не в межах a
функція. Статус повернення 0, якщо місцевий використовується за межами функції, an
недійсний ім'я постачається, або ім'я є змінною лише для читання.

Вихід Вийдіть з оболонки входу.

файл карти [-n вважати] [-O походження] [-s вважати] [-t] [-u fd] [-C Як передзвонити] [-c квантовий] [масив]
readarray [-n вважати] [-O походження] [-s вважати] [-t] [-u fd] [-C Як передзвонити] [-c квантовий]
[масив]
Прочитайте рядки зі стандартного введення в індексовану змінну масиву масив, Або від
дескриптор файлу fd якщо -u надається опція. Змінна КАРТОВИЙ ФАЙЛ є
дефолт масив. Опції, якщо вони надаються, мають такі значення:
-n Максимум копіювати вважати лінії. Якщо вважати дорівнює 0, усі рядки копіюються.
-O Почніть призначати до масив в індексі походження. Індекс за замовчуванням дорівнює 0.
-s Відмовтеся від першого вважати прочитані рядки.
-t Видаліть кінцевий новий рядок з кожного прочитаного рядка.
-u Прочитати рядки з дескриптора файлу fd замість стандартного введення.
-C Оцінювати Як передзвонити щоразу квантовий читаються рядки. The -c параметр визначає
квантовий.
-c Вкажіть кількість рядків, прочитаних між кожним викликом Як передзвонити.

If -C вказується без -c, квант за замовчуванням дорівнює 5000. Коли Як передзвонити is
оцінюється, йому передається індекс наступного елемента масиву, який буде присвоєно та
рядок, який буде присвоєно цьому елементу як додаткові аргументи. Як передзвонити is
оцінюється після прочитання рядка, але до призначення елементу масиву.

Якщо не надано явного походження, файл карти очиститься масив перед призначенням
до цього

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

POPD [-n] [+n] [-n]
Видаляє записи зі стеку каталогів. Без аргументів видаляє вершину
каталогу зі стека, і виконує a cd до нового верхнього каталогу. аргументи,
якщо вказано, мають таке значення:
-n Пригнічує звичайну зміну каталогу під час видалення каталогів з
стек, щоб маніпулювати лише стеком.
+n Видаляє nй запис, рахуючи зліва від списку, показаного диски,
починаючи з нуля. Наприклад: ``popd +0'' видаляє перший каталог,
``popd +1'' другий.
-n Видаляє nй запис, рахуючи справа від списку, показаного диски,
починаючи з нуля. Наприклад: ``popd -0'' видаляє останній каталог,
``popd -1'' передостанній.

Якщо POPD команда успішна, a диски виконується також, і повернення
статус 0. POPD повертає false, якщо зустрічається недійсний параметр, каталог
стек порожній, вказано неіснуючий запис стека каталогів або каталог
зміна не вдається.

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

Команда формат це рядок символів, який містить три типи об’єктів: звичайні
символи, які просто копіюються в стандартний вихід, escape-последовательності,
які конвертуються та копіюються в стандартний вихід і специфікації формату,
кожен з яких викликає друк наступного наступного аргумент. На додаток до
standard printf(1) специфікації формату, printf інтерпретує наступне
розширення:
%b Причини printf щоб розширити escape-послідовності зворотної косої риски у відповідних
аргумент (крім того \c завершує виведення, виконує зворотну косу риску \', \" та \?
не видаляються, а вісімкові вихідні коди починаються з \0 може містити до чотирьох
цифри).
%q Причини printf для виведення відповідного аргумент у форматі, який може бути
повторно використаний як вхідний сигнал оболонки.
%(datefmt)T
Причини printf для виведення рядка дати й часу, отриманого в результаті використання datefmt as
рядок форматування для strftime(3). Відповідний аргумент є цілим числом
що представляє кількість секунд з епохи. Два особливі аргументи
можуть використовуватися значення: -1 представляє поточний час, а -2 являє собою
час виклику оболонки. Якщо аргумент не вказано, перетворення поводиться
ніби дано -1. Це виняток із звичайного printf поведінка.

Аргументи специфікаторів не рядкового формату розглядаються як константи C, за винятком а
провідний знак плюс або мінус допускається, а якщо провідним символом є одинарний або
подвійні лапки, значення — це значення ASCII наступного символу.

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

Pushd [-n] [+n] [-n]
Pushd [-n] [реж]
Додає каталог у верхню частину стеку каталогів або обертає стек, створюючи
нова вершина стека поточного робочого каталогу. Без аргументів,
обмінює два верхні каталоги і повертає 0, якщо тільки стек каталогів не є
порожній. Аргументи, якщо вони надані, мають таке значення:
-n Пригнічує звичайну зміну каталогу під час додавання каталогів до
стек, щоб маніпулювати лише стеком.
+n Обертає стек так, щоб nй каталог (рахуючи зліва від
список показаний диски, починаючи з нуля) знаходиться вгорі.
-n Обертає стек так, щоб nй каталог (рахуючи справа від
список показаний диски, починаючи з нуля) знаходиться вгорі.
реж Додає реж до стеку каталогів у верхній частині, що робить його новим поточним
робочий каталог, як ніби він був наданий як аргумент для cd
вбудований.

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

pwd [-LP]
Надрукуйте абсолютний шлях поточного робочого каталогу. Надруковано ім’я шляху
не містить символічних посилань, якщо -P опція постачається або -o фізичний варіант
до комплект вбудована команда ввімкнена. Якщо -L використовується параметр, ім’я шляху
надруковані можуть містити символічні посилання. Статус повернення 0, якщо не станеться помилка
під час читання назви поточного каталогу або вказано недійсний параметр.

зчитування [-ers] [-a ім'я] [-d розмежувати] [-i текст] [-n nchars] [-N nchars] [-p підказка] [-t
Тайм-аут] [-u fd] [ім'я ...]
Один рядок читається зі стандартного введення або з дескриптора файлу fd поставляється
як аргумент до -u опцію, і перше слово присвоюється першому ім'я,
друге слово до другого ім'я, і так далі, із залишками слів та їх
проміжні роздільники, призначені останньому ім'я. Якщо слів менше, прочитайте
з вхідного потоку, ніж імена, іншим іменам призначаються порожні значення.
Персонажі в IFS використовуються для поділу рядка на слова за тими ж правилами
оболонка використовує для розширення (описано вище під слово Розщеплення). Зворотна коса риса
персонаж (\) можна використовувати для видалення будь-якого спеціального значення для наступного прочитаного символу
і для продовження рядка. Опції, якщо вони надаються, мають такі значення:
-a ім'я
Слова присвоюються послідовним індексам змінної масиву ім'я,
починаючи з 0. ім'я скасовується до призначення нових значень. Інший
ім'я аргументи ігноруються.
-d розмежувати
Перший персонаж розмежувати використовується, швидше, для завершення рядка введення
ніж новий рядок.
-e Якщо стандартний вхід надходить з терміналу, читальна лінія (Див. ЧИТАННЯ
вище) використовується для отримання рядка. Readline використовує поточний (або за замовчуванням,
якщо редагування рядка раніше не було активним) налаштування редагування.
-i текст
If читальна лінія використовується для читання рядка, текст поміщається в редагування
буфер перед початком редагування.
-n nchars
зчитування повертається після прочитання nchars символів, а не чекати a
повний рядок введення, але дотримуйтесь роздільника, якщо менше ніж nchars
символи читаються перед роздільником.
-N nchars
зчитування повертається після точного прочитання nchars персонажів, а не чекати
повний рядок введення, якщо не зустрічається EOF або зчитування тайм -аут.
Символи-розділювачі, що зустрічаються під час введення, не обробляються спеціально і
не викликають зчитування повертатися доки nchars символи читаються.
-p підказка
дисплей підказка зі стандартною помилкою, без кінцевого нового рядка, раніше
намагається прочитати будь-який введений текст. Підказка відображається лише за умови введення
виходить з терміналу.
-r Зворотний слеш не виступає як escape-символ. Враховується зворотна коса риса
бути частиною лінії. Зокрема, пари зворотної косої риски та нового рядка може не бути
використовується як продовження рядка.
-s Режим тиші. Якщо вхід надходить з терміналу, символи не відображаються.
-t Тайм-аут
Викликати зчитування до тайм-ауту та повернення помилки, якщо повний рядок введення (або a
зазначена кількість символів) не зчитується в межах Тайм-аут секунд. Тайм-аут
може бути десятковим числом з дробовою частиною після десяткової
точка. Цей варіант ефективний лише в тому випадку, якщо зчитування читає введені дані з a
термінал, трубу або інший спеціальний файл; це не впливає при читанні з
звичайні файли. Якщо зчитування тайм-аут, зчитування зберігає будь-які часткові введені дані
зазначену змінну ім'я. Якщо Тайм-аут становить 0, зчитування негайно повертається,
не намагаючись прочитати будь-які дані. Статус виходу дорівнює 0, якщо вхід доступний
на вказаному дескрипторе файлу, інакше відмінний від нуля. Статус виходу
більше 128, якщо перевищено час очікування.
-u fd Прочитати вхідні дані з дескриптора файлу fd.

Якщо ні Імена надаються, читання рядка призначається змінній ВІДПОВІДЬ,
код повернення дорівнює нулю, якщо не зустрічається кінець файлу, зчитування час очікування (у якому
якщо код повернення більше 128), помилка призначення змінної (наприклад
присвоєння змінній лише для читання) або вказано недійсний дескриптор файлу
як аргумент -u.

лише для читання [-aAf] [-p] [ім'я[=слово] ...]
Дане Імена позначені лише для читання; значення цих Імена не можуть бути змінені
шляхом подальшого призначення. Якщо -f опція постачається, функції
відповідні Імена так відзначені. The -a параметр обмежує змінні до
індексовані масиви; в -A параметр обмежує змінні асоціативними масивами. Якщо
обидва варіанти постачаються, -A має пріоритет. Якщо ні ім'я наводяться аргументи, або
якщо -p надається параметр, друкується список усіх імен лише для читання. Інші
параметри можуть використовуватися для обмеження виводу до підмножини набору тільки для читання
імена. The -p Параметр призводить до того, що вихідні дані відображаються у форматі, який можна використовувати повторно
як вхідні дані. Якщо після імені змінної стоїть знак =слово, значення змінної є
встановлений в слово. Статус повернення дорівнює 0, якщо не зустрічається недійсний параметр, один
в Імена не є дійсним ім'ям змінної оболонки або -f постачається з a ім'я Що
не є функцією.

повертати [n]
Спричиняє припинення виконання функції та повернення значення, зазначеного в n його
абонента. Якщо n опущено, статус повернення — статус останньої виконаної команди
тіло функції. Якщо повертати використовується за межами функції, але під час виконання a
сценарій від . (джерело), це змушує оболонку припинити її виконання
сценарій і повернути будь-який n або статус виходу останньої команди, виконаної всередині
сценарій як вихідний статус сценарію. Якщо n подається, повертається значення
його найменші 8 біт. Статус повернення є відмінним від нуля if повертати постачається
нечисловий аргумент або використовується за межами функції, а не під час виконання a
автор сценарію . or джерело. Будь-яка команда, пов’язана з ПОВЕРНЕННЯ пастка виконана
до поновлення виконання після функції або сценарію.

комплект [--abefhkmnptuvxBCEHPT] [-o ім'я параметра] [аргумент ...]
комплект [+abefhkmnptuvxBCEHPT] [+o ім'я параметра] [аргумент ...]
Без параметрів ім’я та значення кожної змінної оболонки відображаються в a
формат, який можна повторно використовувати як вхід для встановлення або скидання поточних налаштувань
змінні. Змінні лише для читання не можуть бути скинуті. в posix режим, тільки оболонка
перераховані змінні. Вихідні дані сортуються відповідно до поточної локалі. Коли
параметри вказані, вони встановлюють або не встановлюють атрибути оболонки. Залишилися будь-які аргументи
після обробки параметрів розглядаються як значення для позиційних параметрів і є
призначено, для того, щоб $1, $2, ... $n. Опції, якщо вказано, мають наступне
значення:
-a Автоматично позначати змінні та функції, які змінені або створені
для експорту в середовище наступних команд.
-b Повідомляйте про стан припинених фонових завдань негайно, а не
перед наступним основним підказкою. Це ефективно лише за умови контролю роботи
включений.
-e Негайно вийдіть, якщо a трубопровід (який може складатися з одного простий
команда) З списокАбо з'єднання команда (Див. SHELL ГРАМАТИКА вище), виходи
з ненульовим статусом. Оболонка не завершується, якщо команда не вдається
є частиною списку команд одразу після a в той час як or до ключове слово,
частина тесту після if or Еліф зарезервовані слова, частина будь-якого
команда, що виконується в a && or || list, за винятком команди, що стоїть після final
&& or ||, будь-яка команда в конвеєрі, крім останньої, або якщо команда
повертається значення інвертується з !. Якщо складена команда, відмінна від a
підоболонка повертає ненульовий статус, оскільки команда не вдалася -e було
ігноруючи, оболонка не виходить. Пастка на ERR, якщо встановлено, виконується
перед виходом оболонки. Цей параметр стосується середовища оболонки та
кожне середовище підоболонки окремо (див КОМАНДА ВИКОНАННЯ НАВКОЛИШНЄ СЕРЕДОВИЩЕ
вище), і може призвести до виходу підоболонок перед виконанням усіх команд
у підоболонці.

Якщо складена команда або функція оболонки виконується в контексті де -e is
ігнорується жодна з команд, що виконуються в складеній команді або
Функція організму буде вражена -e налаштування, навіть якщо -e встановлюється і a
команда повертає статус помилки. Якщо складена команда або функція оболонки
Набори -e під час виконання в контексті, де -e ігнорується, це налаштування буде
не матиме жодного ефекту, доки складена команда або команда, що містить
виклик функції завершується.
-f Вимкнути розширення назви шляху.
-h Запам’ятайте розташування команд, коли їх шукають для виконання.
Це ввімкнено за замовчуванням.
-k Усі аргументи у вигляді операторів присвоєння розміщуються в
середовище для команди, а не лише ті, які передують імені команди.
-m Режим монітора. Контроль завдань увімкнено. Цей параметр увімкнено за замовчуванням для
інтерактивні оболонки на системах, які його підтримують (див РОБОТА КОНТРОЛЬ вище). всі
процеси виконуються в окремій групі процесів. Коли фонова робота
завершується, оболонка друкує рядок, що містить статус виходу.
-n Читайте команди, але не виконуйте їх. Це можна використовувати для перевірки оболонки
скрипт для синтаксичних помилок. Це ігнорується інтерактивними оболонками.
-o ім'я параметра
Команда ім'я параметра може бути одним із наступних:
allexport
Такий же, як -a.
дужкарозгорнути
Такий же, як -B.
emacs Використовуйте інтерфейс редагування командного рядка у стилі emacs. Це ввімкнено
за замовчуванням, коли оболонка є інтерактивною, якщо оболонка не є інтерактивною
почалося з --не редагування варіант. Це також впливає на редагування
інтерфейс, який використовується для зчитування -e.
помилка Такий же, як -e.
errtrace
Такий же, як -E.
Functrace
Такий же, як -T.
hashall Такий же, як -h.
histexpand
Такий же, як -H.
історія Увімкніть історію команд, як описано вище в розділі ІСТОРІЯ, це
Опція ввімкнена за замовчуванням в інтерактивних оболонках.
ігнорувати
Ефект такий, ніби була виконана команда оболонки ``IGNOREEOF=10''
виконано (див Склад Змінні вище).
ключове слово Такий же, як -k.
контролювати Такий же, як -m.
noclobber
Такий же, як -C.
Noexec Такий же, як -n.
ноглоб Такий же, як -f.
nolog Наразі ігнорується.
повідомляти Такий же, як -b.
іменник Такий же, як -u.
onecmd Такий же, як -t.
фізичний
Такий же, як -P.
трубопровід
Якщо встановлено, значення конвеєра, що повертається, є значенням останнього
(крайня права) команда для виходу з ненульовим статусом або нульовим, якщо всі
команди в конвеєрі успішно виходять. Цей варіант є
за замовчуванням вимкнено.
posix Змінити поведінку бити де операція за замовчуванням відрізняється
від стандарту POSIX, щоб відповідати стандарту (posix режим). Подивитися
СМ ТАКОЖ нижче для посилання на документ, який детально описує, як posix
режим впливає на поведінку bash.
привілейовані
Такий же, як -p.
докладний Такий же, як -v.
vi Використовуйте інтерфейс редагування командного рядка у стилі vi. Це також впливає
інтерфейс редагування, який використовується для зчитування -e.
xtrace Такий же, як -x.
If -o постачається з № ім'я параметра, значення поточних параметрів
друкуються. Якщо +o постачається з № ім'я параметра, серії комплект
команди для відтворення поточних параметрів параметрів відображається на
стандартний вихід.
-p Включити привілейовані режим. У цьому режимі $ENV та $BASH_ENV файли є
не обробляються, функції оболонки не успадковуються з середовища, і
МАЛЮКИ, БАШОПТИ, CDPATH та ГЛОБІНОР змінні, якщо вони з’являються
в навколишньому середовищі ігноруються. Якщо оболонка запущена з
ефективний ідентифікатор користувача (групи) не дорівнює дійсному ідентифікатору користувача (групи), а -p
Параметр не надається, ці дії виконуються та дієвий ідентифікатор користувача
встановлено справжній ідентифікатор користувача. Якщо -p опція надається при запуску,
ефективний ідентифікатор користувача не скидається. Вимкнення цієї опції призводить до
ефективні ідентифікатори користувачів і груп, які мають бути встановлені на реальні ідентифікатори користувачів і груп.
-t Вийдіть після прочитання та виконання однієї команди.
-u Обробляти не встановлені змінні та параметри, відмінні від спеціальних параметрів "@"
і "*" як помилка під час виконання розширення параметра. Якщо розширення є
якщо спробувати використовувати змінну чи параметр, що не встановлено, оболонка друкує помилку
повідомлення, і, якщо він не інтерактивний, виходить із ненульовим статусом.
-v Друкуйте рядки введення оболонки під час їх читання.
-x Після розширення кожного простий команда, та цінності командувати, випадок командувати, вибрати
команда, або арифметика та цінності команду, відобразити розгорнуте значення PS4,
далі йде команда та її розширені аргументи або пов’язаний список слів.
-B Оболонка виконує розширення дужки (див Браслет Розширення вище). Це ввімкнено
за замовчуванням
-C Якщо встановлено, бити не перезаписує існуючий файл за допомогою >, >& та <>
оператори перенаправлення. Це може бути замінено під час створення вихідних файлів
за допомогою оператора переспрямування >| замість >.
-E Якщо встановлено, будь-яка пастка ввімкнена ERR успадковується функціями оболонки, командою
заміни та команди, що виконуються в середовищі підоболонки. The ERR
пастка зазвичай не успадковується в таких випадках.
-H включити ! підміна історії стилю. Цей параметр увімкнено за замовчуванням, коли
оболонка є інтерактивною.
-P Якщо встановлено, оболонка не розв’язує символічні посилання під час виконання команд
такий як cd які змінюють поточний робочий каталог. Він використовує фізичні
натомість структура каталогів. За замовчуванням, бити слідує за логічним ланцюжком
каталогів під час виконання команд, які змінюють поточний каталог.
-T Якщо встановлено, увімкнено всі пастки DEBUG та ПОВЕРНЕННЯ успадковуються функціями оболонки,
заміни команд і команди, що виконуються в середовищі підоболонки.
Команда DEBUG та ПОВЕРНЕННЯ пастки в таких випадках зазвичай не успадковуються.
-- Якщо після цього параметра немає аргументів, то параметри позиції є такими
не встановлений. В іншому випадку для параметрів позиції встановлюється значення аргументs, навіть якщо
деякі з них починаються на а -.
- Сигналізуйте про закінчення варіантів, викликайте всі залишилися аргументs, призначені для
позиційні параметри. The -x та -v параметри вимкнено. Якщо є
немає аргументs, параметри позиції залишаються незмінними.

Параметри вимкнено за замовчуванням, якщо не вказано інше. Використання +, а не -
призводить до вимкнення цих параметрів. Параметри також можна вказати як
аргументи для виклику оболонки. Можна знайти поточний набір параметрів
in $-. Статус повернення завжди істинний, якщо не зустрічається недійсний параметр.

зсув [n]
Позиційні параметри від n+1 ... перейменовано на $1 .... параметри
представлені числами $# down to $#-n+1 не встановлено. n має бути невід’ємним
число менше або дорівнює $#. Якщо n дорівнює 0, параметри не змінюються. Якщо n is
не дається, вважається, що 1. Якщо n більше $#, позиційний
параметри не змінюються. Статус повернення більше нуля, якщо n більший
ніж $# або менше нуля; інакше 0.

магазин [-pqsu] [-o] [optname ...]
Перемикайте значення параметрів, які контролюють необов’язкову поведінку оболонки. Налаштування
можуть бути або перерахованими нижче, або, якщо -o використовується варіант, наявні
з -o варіант для комплект вбудована команда. Без варіантів, або з -p
опції, відображається список усіх настроюваних опцій із зазначенням чи
або не кожен встановлений. The -p Параметр призводить до того, що вихідні дані відображаються у формі, яка може
повторно використовуватися як вхідні дані. Інші варіанти мають такі значення:
-s Увімкнути (встановити) кожен optname.
-u Вимкнути (зняти) кожен optname.
-q Пригнічує нормальний вихід (тихий режим); статус повернення вказує, чи
optname встановлено чи не встановлено. Якщо кілька optname аргументи наводяться с
-q, статус повернення дорівнює нулю, якщо всі опційні імена увімкнені; відмінний від нуля
інакше.
-o Обмежує значення optname бути визначеними для -o варіант для
комплект вбудований.

Якщо будь-яке -s or -u використовується з не optname аргументи, магазин показує лише ті
параметри, які відповідно встановлені або не встановлені. Якщо не зазначено інше, то магазин
параметри вимкнені (не встановлені) за замовчуванням.

Статус повернення при переліку параметрів дорівнює нулю, якщо всі опційні імена увімкнено, не
нуль інакше. Під час встановлення або скасування параметрів статус повернення дорівнює нулю
якщо не optname не є дійсним варіантом оболонки.

Список магазин варіанти:

autocd Якщо встановлено, ім’я команди, яке є ім’ям каталогу, виконується так, ніби воно
були аргументом до cd команда. Цією опцією користуються лише користувачі
інтерактивні оболонки.
cdable_vars
Якщо встановлено, аргумент для cd вбудована команда, яка не є каталогом
передбачається ім’я змінної, значення якої є каталогом, який потрібно змінити
в.
cdspell Якщо встановлено, незначні помилки в написанні компонента каталогу в a cd
команда буде виправлена. Перевірені помилки транспонуються
символів, відсутній символ і один символ забагато. Якщо
виправлення знайдено, виправлене ім’я файлу надруковано, і команда
доходи. Цей параметр використовується лише інтерактивними оболонками.
контрольний хеш
Якщо встановлено, бити перевіряє, що команда, знайдена в хеш-таблиці, існує раніше
намагаючись його виконати. Якщо хешована команда більше не існує, звичайний шлях
проводиться пошук.
контрольні роботи
Якщо встановлено, бити перелічує статус будь-яких зупинених і запущених раніше завдань
вихід з інтерактивної оболонки. Якщо якісь завдання виконуються, це спричиняє
вихід буде відкладено до тих пір, поки не буде спроба другого виходу без втручання
команду (див РОБОТА КОНТРОЛЬ вище). Оболонка завжди відкладає вихід, якщо такий є
роботи припинені.
checkwinsize
Якщо встановлено, бити перевіряє розмір вікна після кожної команди і, якщо необхідно,
оновлює значення ЛІНІЇ та КОЛОНИ.
cmdhist Якщо встановлено, бити намагається зберегти всі рядки багаторядкової команди в файлі
той самий запис історії. Це дозволяє легко повторно редагувати багаторядкові команди.
compat31
Якщо встановлено, бити змінює свою поведінку на поведінку версії 3.1 щодо
наведені аргументи до [[ умовні команди =~ оператор і локаль-
конкретне порівняння рядків при використанні [[ умовні команди < та >
операторів. Версії Bash до bash-4.1 використовують зіставлення ASCII і
strcmp(3); bash-4.1 і пізніше використовують послідовність зіставлення поточної локалі
та strcoll(3).
compat32
Якщо встановлено, бити змінює свою поведінку на поведінку версії 3.2 щодо
порівняння рядків для певної локалі під час використання [[ умовні команди <
та > оператори (див. попередній пункт).
compat40
Якщо встановлено, бити змінює свою поведінку на поведінку версії 4.0 щодо
порівняння рядків для певної локалі під час використання [[ умовні команди <
та > оператори (див. опис compat31) і ефект
переривання списку команд. Bash версії 4.0 і новіших переривають
список, як ніби оболонка отримала переривання; попередні версії продовжуються
за допомогою наступної команди у списку.
compat41
Якщо встановлено, бити, коли в posix режим, розглядає одинарні лапки в подвійних лапках
розширення параметра як спеціального символу. Одинарні лапки повинні збігатися
(парне число) і символи між одинарними лапками
вважається цитованим. Це поведінка режиму posix до версії 4.1.
Поведінка bash за замовчуванням залишається як у попередніх версіях.
compat42
Якщо встановлено, бити не обробляє рядок заміни у шаблоні
заміщення слова розширення за допомогою видалення лапок.
повна_повна цитата
Якщо встановлено, бити містить лапки всіх метасимволів оболонки в іменах файлів і каталозі
імена при виконанні завершення. Якщо не встановлено, бити видаляє метасимволи
наприклад, знак долара з набору символів, у яких буде цитуватися
завершені імена файлів, коли ці метасимволи з'являються у змінній оболонки
посилання словами, які потрібно заповнити. Це означає, що долар входить
імена змінних, які розширюються до каталогів, не будуть в лапках; проте будь-який
Знаки долара, що з’являються в іменах файлів, також не будуть в лапках. Це
активний лише тоді, коли bash використовує зворотну косу риску для цитування завершених імен файлів.
Ця змінна встановлена ​​за замовчуванням, що є поведінкою bash за замовчуванням
версії до 4.2.
direxpand
Якщо встановлено, бити замінює імена каталогів результатами розширення слів
під час виконання заповнення імені файлу. Це змінює вміст
буфер редагування readline. Якщо не встановлено, бити намагання зберегти те, що
введений користувачем.
dirspell
Якщо встановлено, бити намагається виправити орфографію в іменах каталогу під час word
завершення, якщо початкова назва каталогу не існує.
dotglob Якщо встановлено, бити включає імена файлів, які починаються з `.' в результатах
розширення імені шляху.
execfail
Якщо встановлено, неінтерактивна оболонка не закриється, якщо не зможе виконати файл
вказано як аргумент для Exec вбудована команда. Інтерактивна оболонка
не виходить, якщо Exec не вдається.
expand_aliases
Якщо встановлено, псевдоніми розгортаються, як описано вище в розділі Псевдоніми. Цей варіант
увімкнено за замовчуванням для інтерактивних оболонок.
extdebug
Якщо встановлено, увімкнено поведінку, призначену для використання відладчиками:
1. Команда -F варіант для декларувати вбудований відображає ім'я вихідного файлу
і номер рядка, що відповідає кожній назві функції, що надається як
аргумент.
2. Якщо команда, що виконується DEBUG trap повертає ненульове значення
наступна команда пропускається і не виконується.
3. Якщо команда, що виконується DEBUG trap повертає значення 2, а
shell виконується в підпрограмі (функція оболонки або оболонка
скрипт, який виконується . or джерело вбудовані), виклик до повертати is
змодельований.
4. BASH_ARGC та BASH_ARGV оновлюються, як описано в їх
описи вище.
5. Увімкнено трасування функцій: заміна команд, функції оболонки,
і підоболонки, викликані з ( команда ) успадкувати DEBUG та ПОВЕРНЕННЯ
пастки.
6. Увімкнено відстеження помилок: заміна команд, функції оболонки,
і підоболонки, викликані з ( команда ) успадкувати ERR пастка.
extglob Якщо встановлено, розширені функції відповідності шаблону, описані вище в розділі
Шлях Розширення включені.
extquote
Якщо встановлено, $'рядок$"рядок" цитування виконується в межах ${параметр}
розширення, узяті в подвійні лапки. Цей параметр увімкнено за замовчуванням.
failglob
Якщо встановлено, шаблони, які не відповідають іменам файлів під час розширення шляху
призведе до помилки розширення.
force_fingore
Якщо встановлено, суфікси, визначені параметром ФІНЬОР Змінна оболонки викликає слова до
ігнорується під час завершення слова, навіть якщо ігноровані слова є
єдині можливі завершення. Подивитися SHELL ЗМІННІ вище для опису
of ФІНЬОР. Цей параметр увімкнено за замовчуванням.
globasciiranges
Якщо встановлено, вирази діапазону, які використовуються у виразах у вигляді дужок, що відповідають шаблону (див
Викрійки Узгодження вище) поводяться так, ніби в традиційній мові C, коли
виконання порівнянь. Тобто послідовність зіставлення поточної локалі
не враховується, тому b не буде співставлятися між A та B та
Символи ASCII верхнього та нижнього регістру будуть зіставлені разом.
глобстар
Якщо встановлено, шаблон ** використовується в контексті розширення імені шляху, відповідатиме всім
файли та нуль або більше каталогів і підкаталогів. Якщо візерунок є
слідом за a /, збігаються лише каталоги та підкаталоги.
gnu_errfmt
Якщо встановлено, повідомлення про помилки оболонки записуються у стандартному повідомленні про помилку GNU
Формат.
histappend
Якщо встановлено, список історії додається до файлу, названого значенням
HISTFILE змінної, коли оболонка завершує роботу, а не перезаписує файл.
histreedit
Якщо встановлено, і читальна лінія використовується, користувачу надається можливість повторно
редагувати невдалу заміну історії.
histverify
Якщо встановлено, і читальна лінія використовується, результати підміни історії
не відразу передається до синтаксичного аналізатора оболонки. Натомість отримана лінія є
завантажено в читальна лінія буфер редагування, що дозволяє вносити подальші зміни.
hostcomplete
Якщо встановлено, і читальна лінія використовується, бити спробує виконати ім'я хоста
завершення, коли слово, що містить а @ завершується (див Завершення
при ЧИТАННЯ вище). Це ввімкнено за замовчуванням.
huponexit
Якщо встановлено, бити надішлемо ЗДИХАННЯ для всіх завдань, коли є інтерактивна оболонка входу
виходи.
інтерактивні_коментарі
Якщо встановлено, дозвольте слово, яке починається з # викликати це слово і все, що залишилося
символи в цьому рядку, які ігноруються в інтерактивній оболонці (див КОМЕНТАРІ
вище). Цей параметр увімкнено за замовчуванням.
остання труба
Якщо встановлено, і керування завданнями не активне, оболонка запускає останню команду a
конвеєр не виконується у фоновому режимі в поточному середовищі оболонки.
літіст Якщо встановлено, і cmdhist увімкнено, багаторядкові команди зберігаються в
історію з вбудованими новими рядками, а не з використанням роздільників крапки з комою
де можливо.
логін_оболонка
Оболонка встановлює цей параметр, якщо вона запущена як оболонка для входу (див
ІНВОКАЦІЯ вище). Значення не можна змінювати.
mailwarn
Якщо встановлено, і файл, який бити перевіряє пошту з тих пір
під час останньої перевірки повідомлення ``Пошта в поштовий файл було
читати''.
no_empty_cmd_completion
Якщо встановлено, і читальна лінія використовується, бити не намагатиметься шукати
PATH для можливих завершень, коли спроба завершення порожня
лінія.
nocaseglob
Якщо встановлено, бити відповідає іменам файлів без урахування регістру, коли
виконання розширення імені шляху (див Шлях Розширення вище).
nocasematch
Якщо встановлено, бити відповідає шаблонам без урахування регістру під час виконання
відповідність під час виконання випадок or [[ умовні команди.
nullglob
Якщо встановлено, бити дозволяє шаблони, які не відповідають жодному файлу (див Шлях Розширення
вище) для розширення до нульового рядка, а не до них самих.
progcomp
Якщо встановлено, програмовані засоби завершення (див Програмований Завершення
вище) увімкнено. Цей параметр увімкнено за замовчуванням.
підказки
Якщо встановлено, рядки підказок піддаються розширенню параметрів, заміні команд,
арифметичне розширення та видалення лапок після розширення, як описано
in ПІДКАЗАННЯ вище. Цей параметр увімкнено за замовчуванням.
обмежена_оболонка
Оболонка встановлює цей параметр, якщо вона запущена в обмеженому режимі (див
ОБМЕЖЕНО SHELL нижче). Значення не можна змінювати. Це не скидається
коли файли запуску виконуються, що дозволяє відкривати файли запуску
чи обмежена оболонка чи ні.
shift_verbose
Якщо встановлено, то зсув вбудований друкує повідомлення про помилку під час підрахунку змін
перевищує кількість позиційних параметрів.
вихідний шлях
Якщо встановлено, то джерело (.) вбудована використовує значення PATH щоб знайти каталог
що містить файл, наданий як аргумент. Цей параметр увімкнено за допомогою
за замовчуванням.
xpg_echo
Якщо встановлено, то нудьгувати вбудована за замовчуванням розширює послідовності зворотної косої риски.

Призупинити [-f]
Призупиніть виконання цієї оболонки, поки вона не отримає a НАДАЛЬШЕ сигнал. Логін
оболонка не може бути підвішена; в -f опцію можна використовувати, щоб змінити це та примусово примусити
підвіска. Статус повернення дорівнює 0, якщо оболонка не є оболонкою для входу та -f НЕ
надається, або якщо контроль завдань не ввімкнено.

тест експр
[ експр ]
Повернути статус 0 (правда) або 1 (неправда) залежно від оцінки
умовне вираження експр. Кожен оператор і операнд повинні бути окремими
аргумент. Вирази складаються з первинних, описаних вище
УМОВНІ ВИРАЗИ. тест не приймає жодних варіантів, а також не приймає і
ігнорувати аргумент -- як позначення кінця варіантів.

Вирази можна об’єднати за допомогою наступних операторів, перерахованих у порядку зменшення
порядок пріоритету. Оцінка залежить від кількості аргументів; Дивіться нижче.
Пріоритетність оператора використовується, коли є п’ять або більше аргументів.
! експр Правда, якщо експр неправдиво.
( експр )
Повертає значення експр. Це може бути використано для заміни звичайного
пріоритет операторів.
вираз 1 -a вираз 2
Правда, якщо обидва вираз 1 та вираз 2 правдиві.
вираз 1 -o вираз 2
Правда, якщо так вираз 1 or вираз 2 правда.

тест та [ оцінювати умовні вирази за допомогою набору правил на основі
кількість аргументів.

0 аргументів
Вираз хибний.
Аргумент 1
Вираз істинний тоді і тільки тоді, коли аргумент не є нульовим.
2 аргументів
Якщо перший аргумент !, вираз істинний тоді і тільки тоді, коли другий
аргумент нульовий. Якщо перший аргумент є одним з унарних умов
оператори, перераховані вище під УМОВНІ ВИРАЗИ, вираз вірне
якщо унарний тест істинний. Якщо перший аргумент не є дійсним унарним
умовний оператор, вираз хибний.
3 аргументів
У зазначеному порядку застосовуються такі умови. Якщо другий
аргумент є одним із двійкових умовних операторів, перерахованих вище
УМОВНІ ВИРАЗИ, результат виразу є результатом
двійковий тест із використанням першого та третього аргументів як операндів. The -a та -o
Оператори вважаються бінарними операторами, якщо є три аргументи.
Якщо перший аргумент !, значення є запереченням двох аргументів
перевірити, використовуючи другий і третій аргументи. Якщо перший аргумент точно
( і третій аргумент точно ), результатом є тест з одним аргументом
другого аргументу. Інакше вираз хибне.
4 аргументів
Якщо перший аргумент !, результатом є заперечення трьох-аргументу
вираз, що складається з решти аргументів. Інакше вираз
аналізується та оцінюється відповідно до пріоритету за допомогою перелічених правил
вище.
5 і більше аргументів
Вираз аналізується та оцінюється відповідно до пріоритету за допомогою
правила, перераховані вище.

При використанні з тест or [, < та > оператори сортують лексикографічно за допомогою ASCII
замовлення.

times Роздрукуйте накопичений час користувача та системи для оболонки та запущених процесів
від оболонки. Статус повернення 0.

пастка [-lp] [[аргумент] sigspec ...]
Команда аргумент має бути прочитаний і виконаний, коли оболонка отримує сигнал(и)
sigspec. Якщо аргумент відсутня (а є єдина sigspec) Або -, кожен зазначений
сигнал скидається до початкового положення (значення, яке він мав при вході до
оболонка). Якщо аргумент є нульовим рядком, сигналом, заданим кожним sigspec ігнорується
за допомогою оболонки та команд, які вона викликає. Якщо аргумент немає і -p було
надано, потім команди trap, пов’язані з кожним sigspec відображаються. Якщо ні
аргументи надаються або якщо тільки -p дається, пастка друкує список команд
пов'язані з кожним сигналом. The -l Параметр змушує оболонку друкувати список
назви сигналів та відповідні їм номери. Кожен sigspec це або назва сигналу
визначено всигнал.ч> або номер сигналу. Назви сигналів не чутливі до регістру та
SIG префікс необов'язковий.

Якщо sigspec is EXIT (0) команда аргумент виконується при виході з оболонки. Якщо
sigspec is DEBUG, команда аргумент виконується перед кожним простий команда, та цінності
командувати, випадок командувати, вибрати команда, кожна арифметика та цінності команду, а перед
перша команда виконується у функції оболонки (див SHELL ГРАМАТИКА вище). Зверніться до
опис extdebug варіант для магазин вбудований для детальної інформації про його дію
на DEBUG пастка. Якщо sigspec is ПОВЕРНЕННЯ, команда аргумент виконується щоразу a
функція оболонки або сценарій, що виконується за допомогою . or джерело вбудована обробка
виконання.

Якщо sigspec is ERR, команда аргумент виконується щоразу, коли конвеєр (що може
складається з однієї простої команди), списку або складеної команди повертає a
ненульовий статус виходу з дотриманням наступних умов. The ERR пастки немає
виконується, якщо невдаха команда є частиною списку команд одразу після a
в той час як or до ключове слово, частина тесту в an if заява, частина команди
виконано в а && or || list, за винятком команди, що стоїть після final && or ||, будь-який
команда в конвеєрі, але остання, або якщо повертається значення команди
перевернуто використання !. Ці самі умови дотримуються помилка (-e) варіант.

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

тип [-aftpP] ім'я [ім'я ...]
Якщо немає варіантів, вкажіть, як кожен ім'я буде інтерпретовано як команда
ім'я. Якщо -t використовується варіант, тип друкує рядок, який є одним із псевдонім,
ключове слово, функція, вбудованийабо файл if ім'я є псевдонімом, зарезервованим словом оболонки,
функція, вбудований або дисковий файл відповідно. Якщо ім'я не знайдено, значить
нічого не друкується, повертається статус виходу false. Якщо -p опція
б / в, тип або повертає назву дискового файлу, який буде виконано, якщо ім'я
були вказані як ім'я команди, або нічого, якщо ``type -t name'' не повертає
файл, -P опціонних сил а PATH пошук кожного ім'я, навіть якщо "введіть -t ім'я"
не повернувся б файл. Якщо команда хешується, -p та -P надрукувати хешове значення,
який не обов’язково є файлом, який з’являється першим у PATH, Якщо -a опція
б / в, тип друкує всі місця, які містять виконуваний файл з назвою ім'я, це
включає псевдоніми та функції, якщо і тільки якщо -p опція також не використовується. The
таблиця хешованих команд не звертається під час використання -a, -f опція пригнічує
Пошук функції оболонки, як і в команда вбудований. тип повертає значення true, якщо всі з
аргументи знайдені, false, якщо такі не знайдені.

Ulimit [-HSTabcdefilmnpqrstuvx [обмежувати]]
Забезпечує контроль над ресурсами, доступними для оболонки та запущених процесів
ним, на системах, які дозволяють такий контроль. The -H та -S параметри вказують, що
для даного ресурсу встановлено жорстке або м’яке обмеження. Жорсткий ліміт не може бути збільшений
користувачем без права root після його встановлення; м’який ліміт може бути збільшений до значення
жорстка межа. Якщо ні -H ні -S вказано, як м'які, так і жорсткі межі
встановлені. Значення обмежувати може бути числом у одиниці, зазначеній для ресурсу
або одне зі спеціальних значень жорсткий, м'якийабо необмежений, які позначають поточний
жорсткий ліміт, поточний м'який ліміт і безліміт відповідно. Якщо обмежувати is
опущено, друкується поточне значення м’якого обмеження ресурсу, якщо не
-H надається варіант. Якщо вказано більше одного ресурсу, ім’я обмеження і
одиниці друкуються перед значенням. Інші варіанти інтерпретуються наступним чином:
-a Повідомляються всі поточні обмеження
-b Максимальний розмір буфера сокета
-c Максимальний розмір створених основних файлів
-d Максимальний розмір сегмента даних процесу
-e Максимальний пріоритет планування ("приємний")
-f Максимальний розмір файлів, записаних оболонкою та її дочірніми елементами
-i Максимальна кількість очікуваних сигналів
-l Максимальний розмір, який може бути заблокований у пам’яті
-m Максимальний розмір резидентного набору (багато систем не дотримуються цього обмеження)
-n Максимальна кількість відкритих дескрипторів файлів (більшість систем не допускають цього
значення, яке потрібно встановити)
-p Розмір каналу в 512-байтових блоках (це може не бути встановлено)
-q Максимальна кількість байтів у чергах повідомлень POSIX
-r Максимальний пріоритет планування в реальному часі
-s Максимальний розмір стека
-t Максимальна кількість часу процесора в секундах
-u Максимальна кількість процесів, доступних одному користувачеві
-v Максимальний обсяг віртуальної пам'яті, доступний для оболонки і, на деяких
систем, своїм дітям
-x Максимальна кількість блокувань файлів
-T Максимальна кількість потоків

If обмежувати дається, і -a опція не використовується, обмежувати це нове значення
зазначений ресурс. Якщо немає варіанту, то -f передбачається. Цінності в
1024-байтове збільшення, за винятком -t, що в секундах; -p, що в одиницях
512-байтні блоки; і -T, -b, -n та -u, які є немасштабованими значеннями. Повернення
статус дорівнює 0, якщо не вказано недопустимий параметр або аргумент або не станеться помилка
під час встановлення нового ліміту.

умаск [-p] [-S] [режим]
Для маски створення файлів користувача встановлено значення режим. Якщо режим починається з цифри, це так
інтерпретується як вісімкове число; інакше це інтерпретується як маска символічного режиму
подібний до прийнятих CHMOD(1). Якщо режим опущено, поточне значення
маска роздрукована. The -S опція змушує маску друкувати в символічній формі; в
Вихід за замовчуванням - вісімкове число. Якщо -p опція постачається, і режим is
опущений, вихід у формі, яку можна повторно використовувати як вхідні дані. Статус повернення
0, якщо режим було успішно змінено, або якщо ні режим був наведений аргумент, і
false в іншому випадку.

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

скасовано [-fv] [-n] [ім'я ...]
Для кожного ім'я, видалити відповідну змінну або функцію. Якщо -v опція
дано, кожен ім'я посилається на змінну оболонки, і ця змінна видаляється. читати-
не можна скасовувати лише змінні. Якщо -f вказано, кожен ім'я відноситься до оболонки
функцію, а визначення функції видаляється. Якщо -n надається опція,
та ім'я є змінною з nameref атрибут, ім'я буде скасовано, а не
змінну, на яку вона посилається. -n не має ефекту, якщо -f надається опція. Якщо ні
опції поставляються, кожен ім'я посилається на змінну; якщо немає змінної by
це ім’я, будь-яка функція з такою назвою не встановлена. Кожна не встановлена ​​змінна або функція
видаляється із середовища, передається наступним командам. Якщо будь-який з
COMP_WORDBREAKS, RANDOM, СЕКУНДИ, LINENO, HISTCMD, FUNCNAME, ГРУПИабо DIRSTACK
не налаштовані, вони втрачають свої особливі властивості, навіть якщо їх згодом скинути.
Статус виходу вірний, якщо a ім'я тільки для читання.

чекати [-n] [n ...]
Зачекайте кожного вказаного дочірнього процесу та поверніть його статус завершення. Кожен n
може бути ідентифікатор процесу або специфікація роботи; якщо вказано специфікацію роботи, усі процеси
в конвеєрі цієї роботи чекають. Якщо n не надано, усі активні на даний момент
дочірні процеси очікуються, а статус повернення дорівнює нулю. Якщо -n опція
надається, чекати чекає завершення будь-якої роботи та повертає статус завершення. Якщо n
вказує неіснуючий процес або завдання, статус повернення 127. В іншому випадку,
статус повернення — це статус завершення останнього процесу або завдання, на яке чекали.

ОБМЕЖЕНО SHELL


If бити починається з імені rbash, Або -r параметр надається при виклику, the
оболонка стає обмеженою. Обмежена оболонка використовується для більшого налаштування середовища
керований, ніж стандартна оболонка. Він поводиться ідентично бити за винятком
що таке заборонено або не виконується:

· зміна каталогів с cd

· встановлення або скасування значень SHELL, PATH, ENVабо BASH_ENV

· визначення назв команд, що містять /

· визначення імені файлу, що містить a / як аргумент до . вбудована команда

· зазначення імені файлу, що містить косу риску як аргумент для -p варіант для
мішанина вбудована команда

· імпортувати визначення функцій із середовища оболонки під час запуску

· розбір значення МАЛЮКИ із середовища оболонки під час запуску

· переспрямування виводу за допомогою операторів переспрямування >, >|, <>, >&, &> і >>

· за допомогою Exec вбудована команда для заміни оболонки іншою командою

· додавання або видалення вбудованих команд за допомогою -f та -d варіанти до включіть
вбудована команда

· за допомогою включіть вбудована команда, щоб увімкнути вимкнені вбудовані оболонки

· уточнення -p варіант для команда вбудована команда

· вимкнення обмеженого режиму с комплект +r or комплект +o обмежений.

Ці обмеження діють після читання файлів запуску.

Коли виконується команда, яка є сценарієм оболонки (див КОМАНДА ВИКОНАННЯ
вище), rbash вимикає будь-які обмеження в оболонці, створеній для виконання сценарію.

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


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

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

  • 1
    XISMuS
    XISMuS
    УВАГА: Кумулятивне оновлення 2.4.3 має
    звільнено!! Оновлення працює для будь-якого
    попередня версія 2.xx. У разі оновлення
    з версії v1.xx, завантажте і
    Я ...
    Завантажте XISMuS
  • 2
    facetracknoir
    facetracknoir
    Модульна програма хедтрекінгу, яка
    підтримує кілька фейстрекерів, фільтрів
    і протоколи гри. Серед трекерів
    це SM FaceAPI, AIC Inercial Head
    Трекер ...
    Завантажити facetracknoir
  • 3
    PHP QR-код
    PHP QR-код
    PHP QR-код з відкритим вихідним кодом (LGPL)
    бібліотека для генерації QR-коду,
    2-вимірний штрих-код. На основі
    бібліотека libqrencode C, надає API для
    створення QR-коду barc...
    Завантажте QR-код PHP
  • 4
    freeciv
    freeciv
    Freeciv - це безкоштовна покрокова програма
    багатокористувацька стратегічна гра, в якій кожен
    гравець стає лідером a
    цивілізації, що бореться за отримання с
    кінцева мета: стати...
    Завантажити Freeciv
  • 5
    Зозуля Пісочниця
    Зозуля Пісочниця
    Cuckoo Sandbox використовує компоненти для
    стежити за поведінкою зловмисного програмного забезпечення в a
    Середовище пісочниці; ізольовано від
    решта системи. Він пропонує автоматизовані
    аналіз про...
    Завантажити Cuckoo Sandbox
  • 6
    LMS-YouTube
    LMS-YouTube
    Відтворення відео YouTube на LMS (перенесення
    Triode для YouTube API v3) Це
    додаток, який також можна отримати
    від
    https://sourceforge.net/projects/lms-y...
    Завантажте LMS-YouTube
  • Детальніше »

Команди Linux

Ad