АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

bash - Интернет в облаке

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

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

ПРОГРАММА:

ИМЯ


bash — оболочка GNU Bourne-Again

СИНТАКСИС


колотить [параметры] [строка_команды | файл]

АВТОРСКИЕ ПРАВА


Авторское право на Bash (C) 1989-2013 принадлежит Free Software Foundation, Inc.

ОПИСАНИЕ


Колотить есть sh-совместимый интерпретатор языка команд, который выполняет команды, считанные из
стандартный ввод или из файла. Колотить также включает полезные функции из Korn и C
снаряды (КШ и CSH).

Колотить предполагается, что это соответствующая реализация части Shell и Utilities
спецификация IEEE POSIX (стандарт IEEE 1003.1). Колотить может быть настроен как POSIX-
по умолчанию соответствует.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


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

-c Если же линия индикатора -c присутствует опция, то команды читаются из первой неопции
аргумент командная_строка. Если есть аргументы после командная_строка, Они
присваиваются позиционным параметрам, начиная с $0.
-i Если же линия индикатора -i вариант присутствует, оболочка есть интерактивный.
-l MAKE колотить действовать так, как если бы он был вызван как оболочка входа в систему (см. ПРИЗЫВ ниже).
-r Если же линия индикатора -r опция присутствует, оболочка становится ограниченный (См. ОГРАНИЧЕННЫЕ SHELL
ниже).
-s Если же линия индикатора -s опция присутствует, или если после обработки опции не осталось аргументов,
затем команды читаются со стандартного ввода. Эта опция позволяет
позиционные параметры, устанавливаемые при вызове интерактивной оболочки.
-D Список всех строк в двойных кавычках, которым предшествует $ печатается на стандартном
вывод. Это строки, которые подлежат языковому переводу, когда
текущая локаль не C or POSIX. Отсюда следует -n вариант; никакие команды не будут
быть казненным.
[- +] О [shopt_option]
shopt_option является одним из вариантов оболочки, принимаемых купил встроенный (см.
SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже). Если shopt_option настоящее, -O устанавливает значение
тот вариант; +O сбивает его с толку. Если shopt_option не поставляется, имена и
значения параметров оболочки, принятые купил печатаются на стандартных
вывод. Если опция вызова +O, вывод отображается в формате
которые можно повторно использовать в качестве входных.
-- A -- сигнализирует об окончании опций и отключает дальнейшую обработку опций. Любой
аргументы после -- рассматриваются как имена файлов и аргументы. Аргумент -
эквивалентна --.

Колотить также интерпретирует ряд многосимвольных параметров. Эти параметры должны появиться на
командная строка перед опциями для распознавания одного символа.

--отладчик
Организуйте выполнение профиля отладчика перед запуском оболочки. Включается
расширенный режим отладки (см. описание экстдебаг вариант для купил
встроенный ниже).
--дамп-по-строки
Эквивалентно -D, но вывод находится в GNU Gettext po (переносной объект) файл
формат.
--dump-строки
Эквивалентно -D.
--Помогите Вывести сообщение об использовании на стандартный вывод и успешно завершить работу.
--init-файл файл
--rcfile файл
Выполнять команды из файл вместо общесистемного файла инициализации
/etc/bash.bashrc и стандартный персональный файл инициализации ~ / .bashrc если
оболочка интерактивна (см. ПРИЗЫВ ниже).

--авторизоваться
Эквивалентно -l.

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

--noprofile
Не читайте ни общесистемный файл запуска / И т.д. / профиль или любой из личных
файлы инициализации ~ / .bash_profile, ~ / .Bash_loginили ~ / .Profile, По умолчанию,
колотить читает эти файлы, когда вызывается как оболочка входа в систему (см. ПРИЗЫВ ниже).

--норк Не читайте и не выполняйте общесистемный файл инициализации /etc/bash.bashrc и
личный файл инициализации ~ / .bashrc если оболочка интерактивная. Этот
опция включена по умолчанию, если оболочка вызывается как sh.

--posix
Измените поведение колотить где операция по умолчанию отличается от POSIX
стандарт для соответствия стандарту (POSIX Режим). Увидеть СМ ТАКЖЕ ниже для ссылки на
документ, в котором подробно описано, как режим posix влияет на поведение bash.

--ограниченный
Оболочка становится ограниченной (см. ОГРАНИЧЕННЫЕ SHELL ниже).

--подробный
Эквивалентно -v.

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

АРГУМЕНТЫ


Если аргументы остаются после обработки опции, и ни один -c ни -s вариант был
предоставлен, первый аргумент считается именем файла, содержащего оболочку
команды. Если колотить вызывается таким образом, $0 устанавливается на имя файла, а
позиционные параметры устанавливаются для остальных аргументов. Колотить читает и выполняет
команды из этого файла, затем завершится. Колотитьстатус выхода - это статус выхода последнего
команда, выполняемая в скрипте. Если никакие команды не выполняются, статус выхода равен 0.
сначала делается попытка открыть файл в текущем каталоге, и, если файл не найден,
затем оболочка ищет каталоги в PATH для сценария.

ПРИЗЫВ


A Войти оболочка - это тот, у которого первым символом нулевого аргумента является -, или один начался с
домен --авторизоваться опцию.

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

В следующих параграфах описывается, как колотить выполняет свои файлы запуска. Если какой-либо из
файлы существуют, но не могут быть прочитаны, колотить сообщает об ошибке. Тильды раскрываются в именах файлов
как описано ниже в разделе Тильда расширение в РАСШИРЕНИЕ .

После появления колотить вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с
--авторизоваться вариант, он сначала читает и выполняет команды из файла / И т.д. / профиль, если это
Файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .Bash_loginкачества
~ / .Profile, в этом порядке, и считывает и выполняет команды из первой, которая существует
и читается. В --noprofile опция может использоваться, когда оболочка запущена для подавления
это поведение.

Когда оболочка входа закрывается, колотить читает и выполняет команды из файла ~ / .Bash_logout,
если он существует.

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

После появления колотить запускается неинтерактивно, например, для запуска сценария оболочки, он ищет
переменная БАШ_ЕНВ в окружающей среде, увеличивает свою ценность, если появляется там, и использует
расширенное значение как имя файла для чтения и выполнения. Колотить ведет себя так, как будто
была выполнена следующая команда:
если [-n "$ BASH_ENV"]; тогда . "$ BASH_ENV"; фи
но ценность PATH переменная не используется для поиска имени файла.

If колотить вызывается с именем sh, он пытается имитировать поведение стартапов исторического
версии sh как можно ближе к стандарту POSIX.
При вызове в качестве интерактивной оболочки входа или неинтерактивной оболочки с --авторизоваться
вариант, он сначала пытается прочитать и выполнить команды из / И т.д. / профиль и ~ / .Profile,
в этой последовательности. В --noprofile опция может использоваться, чтобы запретить такое поведение. При вызове
как интерактивная оболочка с именем sh, колотить ищет переменную ENV, расширяет свой
значение, если оно определено, и использует расширенное значение как имя файла для чтения и
выполнять. Поскольку оболочка вызывается как sh не пытается читать и выполнять команды из
любые другие файлы запуска, --rcfile вариант не имеет никакого эффекта. Неинтерактивная оболочка
вызывается с именем sh не пытается читать другие файлы запуска. При вызове
as sh, колотить входит POSIX режим после чтения файлов запуска.

После появления колотить начинается в POSIX режим, как и в --posix параметр командной строки, следует
стандарт POSIX для файлов запуска. В этом режиме интерактивные оболочки расширяют ENV
переменная и команды читаются и выполняются из файла с расширенным именем
ценность. Никакие другие файлы запуска не читаются.

Колотить пытается определить, когда он запускается со стандартным входом, подключенным к
сетевое соединение, как при выполнении удаленным демоном оболочки, обычно ршд, или
демон безопасной оболочки SSHD. Если колотить определяет, что он выполняется таким образом, он читает
и выполняет команды из ~ / .bashrc и ~ / .bashrc, если эти файлы существуют и доступны для чтения.
Он не сделает этого, если будет вызван как sh, --норк опция может быть использована, чтобы запретить это
поведение, а --rcfile опция может использоваться для принудительного чтения другого файла, но
ни ршд ни SSHD обычно вызывают оболочку с этими параметрами или позволяют им быть
указано.

Если оболочка запущена с эффективным идентификатором пользователя (группы), не равным реальному пользователю
(группа) id, а -p опция не предоставляется, файлы запуска не читаются, функции оболочки
не унаследованы от окружающей среды, ОБОЛОЧКИ, БАШОПТЫ, CDPATHкачества ГЛОБИННОР
переменные, если они появляются в среде, игнорируются, а эффективный идентификатор пользователя
установлен на реальный идентификатор пользователя. Если -p опция предоставляется при вызове, поведение при запуске
то же самое, но действующий идентификатор пользователя не сбрасывается.

ОПРЕДЕЛЕНИЯ


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

RESERVED СЛОВА


Зарезервированный слова это слова, которые имеют особое значение для оболочки. Следующие слова
распознаются как зарезервированные без кавычек и либо первое слово простой команды
(См. SHELL ГРАММАТИКА ниже) или третье слово случаев or для команда:

! случаев копрок do сделанный Элиф еще ESAC fi для функция if in выберите тогда до в то время как { }
время [[ ]]

SHELL ГРАММАТИКА


просто Команды
A декриминализовано команду представляет собой последовательность необязательных назначений переменных, за которой следует пустой-
разделенные слова и перенаправления и завершенные контроль оператор. Первое слово
указывает команду, которая должна быть выполнена, и передается как нулевой аргумент. Остальные слова
передаются в качестве аргументов вызываемой команде.

Возвращаемое значение декриминализовано команду это его статус выхода, или 128+n если команда
прекращено сигналом n.

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

[время [-p]] [! ] команду [[||&] command2 ...]

Стандартный вывод команду подключен через трубу к стандартному входу command2.
Это соединение выполняется перед любыми перенаправлениями, указанными командой (см.
ПЕРЕНАПРАВЛЕНИЕ ниже). Если |& используется, командустандартная ошибка, в дополнение к стандартной
выход, подключен к command2стандартный ввод через трубу; это сокращение для
2> & 1 |. Это неявное перенаправление стандартной ошибки на стандартный вывод
выполняется после любых перенаправлений, указанных командой.

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

Если же линия индикатора время зарезервированное слово предшествует конвейеру, прошедшему, а также пользовательскому и системному времени
потребляемые при его выполнении сообщаются, когда конвейер завершается. В -p вариант
изменяет выходной формат на тот, который указан в POSIX. Когда оболочка в POSIX Режим, Он
не признает время как зарезервированное слово, если следующий токен начинается с «-». В
ТИМЕФОРМАТ переменная может быть установлена ​​в строку формата, которая указывает, как время
информация должна отображаться; см. описание ТИМЕФОРМАТ под Оболочка Переменные
внизу.

Когда оболочка в POSIX Режим, время может сопровождаться новой строкой. В этом случае
shell отображает общее пользовательское и системное время, затраченное оболочкой и ее дочерними элементами. В
ТИМЕФОРМАТ переменная может использоваться для определения формата информации о времени.

Каждая команда в конвейере выполняется как отдельный процесс (т. Е. В подоболочке).

Списки
A список представляет собой последовательность из одного или нескольких конвейеров, разделенных одним из операторов ;, &, &&,
or ||, и, возможно, прекращено одним из ;, &или .

Из этих операторов списка && и || имеют равный приоритет, за которым следует ; и &, который имеет
равный приоритет.

Последовательность из одного или нескольких символов новой строки может появиться в список вместо точки с запятой для разграничения
команды.

Если команда прерывается оператором управления &, оболочка выполняет команду в
домен фон в подоболочке. Оболочка не ждет завершения команды, и
статус возврата - 0. Команды, разделенные знаком ; выполняются последовательно; оболочка ждет
для каждой команды, чтобы завершиться по очереди. Статус возврата - это статус выхода последнего
команда выполнена.

Списки AND и OR представляют собой последовательности одного или нескольких конвейеров, разделенных символом && и || контроль
операторы соответственно. Списки И и ИЛИ выполняются с левой ассоциативностью. И
список имеет вид

command1 && command2

command2 выполняется тогда и только тогда, когда, command1 возвращает нулевой статус выхода.

Список ИЛИ имеет вид

command1 || command2

command2 выполняется тогда и только тогда, когда command1 возвращает ненулевой статус выхода. Возврат
Статус списков И и ИЛИ - это статус завершения последней команды, выполненной в списке.

Соединение Команды
A соединение команду является одним из следующих. В большинстве случаев список в командном
описание может быть отделено от остальной части команды одним или несколькими символами новой строки и может
после точки с запятой ставится новая строка.

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

{ список; }
список просто выполняется в текущей среде оболочки. список должен быть прекращен
с новой строкой или точкой с запятой. Это известно как группы команду. Статус возврата
статус выхода список. Обратите внимание, что в отличие от метасимволов ( и ), { и }
Он зарезервированный слова и должно произойти там, где разрешено зарезервированное слово
признал. Поскольку они не приводят к разрыву слова, они должны быть отделены от список
пробелом или другим метасимволом оболочки.

((выражение))
Ассоциация выражение оценивается в соответствии с правилами, описанными ниже в разделе АРИФМЕТИЧЕСКИЙ
ОЦЕНКА. Если значение выражения не равно нулю, статус возврата - 0;
в противном случае статус возврата равен 1. Это в точности эквивалентно позволять "выражение".

[[ выражение ]]
Возвращает статус 0 или 1 в зависимости от оценки условного выражения
выражение. Выражения состоят из основных цветов, описанных ниже в разделе
Условный ВЫРАЖЕНИЯ. Разделение слов и расширение имени пути не выполняются
на словах между [[ и ]]; расширение тильды, параметр и переменная
расширение, арифметическое расширение, подстановка команд, подстановка процесса и
удаление цитаты. Условные операторы, такие как -f не должно быть цитировано
быть признанными праймериз.

При использовании с [[, < и > операторы сортируют лексикографически, используя текущие
локали.

См. Описание тестXNUMX встроенная команда (раздел ВСТРОЕННЫЕ КОМАНДЫ ОБОЛОЧКИ ниже) для
обработка параметров (т.е. отсутствующих параметров).

Когда == и != используются операторы, строка справа от оператора
считается шаблоном и сопоставляется в соответствии с правилами, описанными ниже в разделе шаблон
Согласование, как будто extglob были включены опции оболочки. В = оператор эквивалентен
==. Если вариант оболочки нет совпадения включен, сопоставление выполняется без учета
регистр буквенных символов. Возвращаемое значение - 0, если строка соответствует (==) Или
не соответствует (!=) образец и 1 в противном случае. Любая часть рисунка может быть указана в кавычках.
для принудительного сопоставления цитируемой части как строки.

Дополнительный бинарный оператор, =~, доступен с тем же приоритетом, что и == и !=.
Когда он используется, строка справа от оператора считается расширенной регулярной
выражение и сопоставлены соответственно (как в регулярное выражение(3)). Возвращаемое значение - 0, если строка
соответствует шаблону, а в противном случае - 1. Если регулярное выражение синтаксически
неверно, возвращаемое значение условного выражения - 2. Если параметр оболочки
нет совпадения включен, сопоставление выполняется без учета алфавитного
символы. Любая часть шаблона может быть процитирована, чтобы заставить цитируемую часть быть
соответствует как строка. Выражения в квадратных скобках в регулярных выражениях необходимо обрабатывать.
осторожно, так как обычные кавычки теряют свое значение в квадратных скобках. Если
шаблон хранится в переменной оболочки, кавычки на расширение переменной заставляют все
шаблон, который будет сопоставлен как строка. Подстроки, сопоставленные подвыражениям в скобках
внутри регулярного выражения сохраняются в переменной массива 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 раскрывается, генерируя список элементов. В
переменная имя устанавливается для каждого элемента этого списка по очереди, и список выполняется
каждый раз. Если in слово опущено, для команда выполняется список один раз для каждого
позиционный параметр, который устанавливается (см. ПАРАМЕТРЫ ниже). Статус возврата - это
статус выхода последней выполненной команды. Если расширение предметов
после in приводит к пустому списку, никакие команды не выполняются, а возврат
статус 0.

для (( выражение1 ; выражение2 ; выражение3 )); do список ; сделанный
Во-первых, арифметическое выражение выражение1 оценивается по правилам
описано ниже в разделе АРИФМЕТИЧЕСКИЙ ОЦЕНКА. Арифметическое выражение выражение2 is
затем повторно оценивается, пока не станет нулевым. Каждый раз выражение2 оценивает
ненулевое значение, список выполняется и арифметическое выражение выражение3 is
оценен. Если какое-либо выражение опущено, оно ведет себя так, как если бы оно было равно 1. Значение
возвращаемое значение - это статус выхода последней команды в список который выполняется, или
false, если какое-либо из выражений неверно.

выберите имя [ in слово ]; do список ; сделанный
Список следующих слов in раскрывается, генерируя список элементов. Набор
расширенные слова печатаются на стандартной ошибке, каждому предшествует номер. Если
in слово опускается, позиционные параметры печатаются (см. ПАРАМЕТРЫ ниже).
Ассоциация PS3 Затем отображается приглашение, и из стандартного ввода считывается строка. Если
строка состоит из числа, соответствующего одному из отображаемых слов, затем
Значение имя установлен на это слово. Если строка пуста, слова и подсказка будут
отображается снова. Если EOF прочитан, команда завершается. Прочитано любое другое значение
Причины имя должно быть установлено значение null. Прочитанная строка сохраняется в переменной оТВЕТИТЬ,
список выполняется после каждого выбора до тех пор, пока перерыв команда выполняется. Выход
статус выберите статус выхода последней команды, выполненной в список, или ноль
если никакие команды не выполнялись.

случаев слово in [[(] описания [ | описания ] ...) список ;; ] ... ESAC
A случаев команда сначала раскрывается слово, и пытается сопоставить его с каждым описания in
в свою очередь, используя те же правила сопоставления, что и для раскрытия имени пути (см. Pathname
расширение ниже). слово раскрывается с помощью тильды, параметра и
расширение переменных, арифметическая подстановка, подстановка команд, процесс
замена и удаление цитаты. Каждый описания изучаемый расширяется с помощью тильды
раскрытие, расширение параметра и переменной, арифметическая подстановка, команда
замещение и процесс замещения. Если вариант оболочки нет совпадения is
включен, соответствие выполняется без учета алфавитного
символы. Когда совпадение найдено, соответствующий список выполняется. Если ;;
используется оператор, последующие совпадения после первого шаблона не предпринимаются
совпадение. С использованием ;& на месте ;; заставляет выполнение продолжаться с список
связанный со следующим набором шаблонов. С использованием ;; & на месте ;; вызывает
оболочки, чтобы проверить следующий список шаблонов в операторе, если таковой имеется, и выполнить любой
связанный список об удачном матче. Статус выхода равен нулю, если нет шаблона
Спички. В противном случае это статус выхода последней команды, выполненной в список.

if список; тогда список; [ Элиф список; тогда список; ] ... [ еще список; ] fi
Ассоциация if список выполняется. Если его статус выхода равен нулю, тогда список выполнен.
В противном случае каждый Элиф список выполняется по очереди, и если его статус выхода равен нулю,
соответствующий тогда список выполняется, и команда завершается. В противном случае еще
список выполняется, если присутствует. Статус выхода - это статус выхода последнего
команда выполнена, или ноль, если ни одно из проверенных условий не является истинным.

в то время как список-1; do список-2; сделанный
до список-1; do список-2; сделанный
Ассоциация в то время как команда непрерывно выполняет список список-2 пока последняя команда
в списке список-1 возвращает нулевой статус выхода. В до команда идентична
до в то время как команда, за исключением того, что проверка отменяется; список-2 выполняется до тех пор, пока
как последняя команда в список-1 возвращает ненулевой статус выхода. Статус выхода
домен в то время как и до commands - это статус выхода последней команды, выполненной в
список-2, или ноль, если ничего не было выполнено.

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

Формат сопроцесса:

копрок [ИМЯ] команду [переадресовывает]

Это создает сопроцесс с именем ИМЯ. Если ИМЯ не предоставляется, имя по умолчанию КОПРОК.
ИМЯ не должен поставляться, если команду - это декриминализовано команду (см. выше); в противном случае это
интерпретируется как первое слово простой команды. Когда сопроцесс выполняется,
оболочка создает переменную массива (см. Массивы ниже) названный ИМЯ в контексте
исполняющая оболочка. Стандартный вывод команду подключен через канал к файлу
дескриптор в исполняющей оболочке, и этот дескриптор файла назначается ИМЯ[0]. В
стандартный ввод команду подключен через конвейер к файловому дескриптору в исполняющейся
оболочке, и этот дескриптор файла назначается ИМЯ[1]. Эта труба установлена ​​раньше
любые перенаправления, указанные командой (см. ПЕРЕНАПРАВЛЕНИЕ ниже). Дескрипторы файлов
могут использоваться в качестве аргументов команд оболочки и перенаправлений с использованием стандартного слова
расширения. Дескрипторы файлов недоступны в подоболочках. Идентификатор процесса
оболочка, созданная для выполнения сопроцесса, доступна как значение переменной ИМЯ_ПИД.
Ассоциация ждать Встроенная команда может использоваться для ожидания завершения сопроцесса.

Поскольку сопроцесс создается как асинхронная команда, копрок всегда командовать
возвращает успех. Статус возврата сопроцесса - это статус выхода из команду.

Оболочка Функция Определения
Функция оболочки - это объект, который вызывается как простая команда и выполняет составное
команда с новым набором позиционных параметров. Функции оболочки объявлены следующим образом:

имя () составная команда [перенаправление]
функция имя [()] составная команда [перенаправление]
Это определяет функцию с именем имя. Зарезервированное слово функция не является обязательным. Если
домен функция указывается зарезервированное слово, скобки необязательны. В тело of
функция - составная команда составная команда (См. Соединение Команды
выше). Эта команда обычно список команд между {и}, но может быть любым
команда, указанная в Соединение Команды выше. составная команда выполняется
когда бы ни имя указывается как имя простой команды. Когда в POSIX Режим,
имя не может быть именем одного из POSIX особый встроенные команды. Любые перенаправления
(См. ПЕРЕНАПРАВЛЕНИЕ ниже), указанные при определении функции, выполняются, когда
функция выполняется. Статус выхода определения функции равен нулю, если только
Произошла синтаксическая ошибка или функция только для чтения с таким именем уже существует. Когда
выполнено, статус выхода функции - это статус выхода последней команды
выполнен в теле. (Видеть ФУНКЦИИ ниже.)

КОММЕНТАРИИ


В неинтерактивной оболочке или интерактивной оболочке, в которой интерактивные_комментарии
вариант для купил встроенная функция включена (см. SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже), слово
начиная с # заставляет это слово и все оставшиеся символы в этой строке игнорироваться.
Интерактивная оболочка без интерактивные_комментарии опция включена не позволяет
Комментарии. В интерактивные_комментарии опция включена по умолчанию в интерактивных оболочках.

ЦИТАТА


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

Каждый из метасимволы перечисленные выше в ОПРЕДЕЛЕНИЯ имеет особое значение для оболочки
и должен быть процитирован, если он представляет самого себя.

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

Есть три механизма цитирования: бежать персонаж, одинарные кавычки и двойные
цитаты.

Обратная косая черта без кавычек (\) Является бежать персонаж. Он сохраняет буквальное значение
следующий за ним символ, за исключением . Если \пара
появляется, а обратная косая черта не цитируется, \рассматривается как линия
продолжение (то есть удаляется из входного потока и игнорируется).

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

Заключение символов в двойные кавычки сохраняет буквальное значение всех символов внутри
цитаты, за исключением $, `, \, и, когда включено расширение истории, !,
символы $ и ` сохраняют свое особое значение в двойных кавычках. Обратная косая черта
сохраняет свое особое значение, только если за ним следует один из следующих символов: $, `,
", \или . Двойные кавычки можно заключить в двойные кавычки, поставив перед ними
с обратной косой чертой. Если этот параметр включен, расширение истории будет выполняться, если ! появляться
в двойных кавычках заменяется обратной косой чертой. Обратная косая черта перед ! Не
удален.

Особые параметры * и @ имеют особое значение в двойных кавычках (см. ПАРАМЕТРЫ
ниже).

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

Расширенный результат заключен в одинарные кавычки, как если бы знака доллара не было.

Строка в двойных кавычках, перед которой стоит знак доллара ($"string") приведет к тому, что строка будет
переведено в соответствии с текущим языковым стандартом. Если текущий языковой стандарт C or POSIX,
знак доллара игнорируется. Если строка переведена и заменена, замена будет
в двойных кавычках.

ПАРАМЕТРЫ


A параметр это объект, который хранит значения. Это может быть имя, число или одно из
специальные символы, перечисленные ниже в Особый параметры, переменная это параметр
обозначается имя. У переменной есть ценностное и ноль или больше Атрибуты. Атрибуты
назначен с использованием объявлять встроенная команда (см. объявлять ниже в SHELL ВСТРОЕННЫЙ КОМАНДЫ).

Параметр устанавливается, если ему присвоено значение. Нулевая строка - допустимое значение.
После того, как переменная установлена, ее можно сбросить только с помощью сброшен встроенная команда (см. SHELL
ВСТРОЕННЫЙ КОМАНДЫ ниже).

A переменная может быть присвоено заявлением вида

имя=[ценностное ]

If ценностное не указан, переменной присваивается пустая строка. Все ценности пройти тильду
расширение, расширение параметров и переменных, подстановка команд, арифметическое расширение,
и удаление цитаты (см. РАСШИРЕНИЕ ниже). Если переменная имеет целое набор атрибутов,
тогда ценностное оценивается как арифметическое выражение, даже если раскрытие $ ((...)) не
использованный (см. Арифметический расширение ниже). Разделение слов не выполняется,
исключение "$ @" как объяснено ниже в разделе Особый параметры. Расширение имени пути не
выполненный. Операторы присваивания могут также выступать в качестве аргументов для псевдоним, объявлять,
набрана, экспорт, только для чтениякачества локальным встроенные команды. Когда в POSIX Режим, эти встроенные
может появиться в команде после одного или нескольких экземпляров команду встроенный и сохранить
эти свойства оператора присваивания.

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

Переменной можно присвоить ссылка на имя атрибут с помощью -n вариант для объявлять or
локальным встроенные команды (см. описание объявлять и локальным ниже), чтобы создать
ссылка на имя, или ссылку на другую переменную. Это позволяет манипулировать переменными
косвенно. Всякий раз, когда на переменную nameref ссылаются или ей назначают, операция
фактически выполняется для переменной, указанной значением переменной nameref. Nameref
обычно используется в функциях оболочки для ссылки на переменную, имя которой передается как
аргумент функции. Например, если имя переменной передается в функцию оболочки
в качестве первого аргумента, работающего
объявить -n ref = $ 1
внутри функции создается переменная nameref ссылка чьим значением является переданное имя переменной
как первый аргумент. Ссылки и отсылки к ссылка рассматриваются как ссылки и
присвоения переменной, имя которой было передано как $1. Если управляющая переменная в для
цикл имеет атрибут nameref, список слов может быть списком переменных оболочки, а
ссылка на имя будет установлена ​​для каждого слова в списке, в свою очередь, когда цикл
выполнен. Переменным массива нельзя присвоить -n атрибут. Однако переменные nameref
может ссылаться на переменные массива и переменные массива с индексами. Namerefs можно отключить
используя -n вариант для сброшен встроенный. В противном случае, если сброшен выполняется с именем
переменной nameref в качестве аргумента, переменная, на которую ссылается переменная nameref, будет
быть сбитым с толку.

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

Когда позиционный параметр, состоящий более чем из одной цифры, раскрывается, он должен быть
заключены в фигурные скобки (см. РАСШИРЕНИЕ ниже).

Особый параметры
Оболочка специально обрабатывает несколько параметров. На эти параметры можно только ссылаться;
присвоение им не допускается.
* Расширяется до позиционных параметров, начиная с единицы. Когда расширения нет
в двойных кавычках каждый позиционный параметр заменяется отдельным словом. В
контексты, в которых это выполняется, эти слова подлежат дальнейшему разделению на слова
и расширение имени пути. Когда раскрытие происходит в двойных кавычках, оно раскрывается
в одно слово со значением каждого параметра, разделенным первым символом
IFS специальная переменная. Это, "$*" эквивалентно "$1c$2c...", где c
является первым символом значения IFS Переменная. Если IFS не настроен,
параметры разделяются пробелами. Если IFS равно нулю, параметры объединяются
без промежуточных разделителей.
@ Расширяется до позиционных параметров, начиная с единицы. Когда происходит расширение
в двойных кавычках каждый параметр заменяется отдельным словом. Это, "$@" является
эквивалентно "$1""$2"... Если расширение в двойных кавычках встречается внутри слова,
расширение первого параметра соединяется с начальной частью
исходное слово, а расширение последнего параметра присоединяется к последней части
оригинального слова. Когда нет позиционных параметров, "$@" а также $@ расширять
ни к чему (т. е. удаляются).
# Расширяется до количества позиционных параметров в десятичном формате.
? Расширяется до статуса выхода последнего выполненного конвейера переднего плана.
- Расширяется до текущих флагов опций, как указано при вызове набор
встроенная команда или те, которые установлены самой оболочкой (например, -i опция).
$ Расширяется до идентификатора процесса оболочки. В подоболочке () он расширяется до
идентификатор процесса текущей оболочки, а не подоболочки.
! Заменяется на идентификатор процесса задания, которое было недавно переведено в фоновый режим,
независимо от того, выполняется ли она как асинхронная команда или с помощью bg встроенный (см. РАБОТА
КОНТРОЛЬ ниже).
0 Заменяется на имя оболочки или сценария оболочки. Это установлено в оболочке
инициализация. Если колотить вызывается с файлом команд, $0 установлен на имя
этого файла. Если колотить начинается с -c вариант, тогда $0 установлен на первый
аргумент после строки, которая должна быть выполнена, если таковой присутствует. В противном случае устанавливается
к имени файла, используемому для вызова колотить, как указано нулевым аргументом.
_ При запуске оболочки задайте абсолютный путь, используемый для вызова оболочки или оболочки.
сценарий выполняется, как передано в среде или списке аргументов. Впоследствии
расширяется до последнего аргумента предыдущей команды после раскрытия. Также установлен на
полный путь, используемый для вызова каждой выполненной команды и помещенный в
среда, экспортированная в эту команду. При проверке почты этот параметр содержит
имя почтового файла, который в данный момент проверяется.

Оболочка Переменные
Оболочка устанавливает следующие переменные:

BASH Расширяется до полного имени файла, используемого для вызова этого экземпляра колотить.
БАШОПТЫ
Список включенных параметров оболочки, разделенных двоеточиями. Каждое слово в списке является допустимым
аргумент в пользу -s вариант для купил встроенная команда (см. SHELL ВСТРОЕННЫЙ КОМАНДЫ
ниже). Параметры, появляющиеся в БАШОПТЫ те, о которых сообщается как on by купил. Если
эта переменная находится в среде, когда колотить запускается, каждая опция оболочки в
список будет включен перед чтением любых файлов запуска. Эта переменная доступна только для чтения.
БАШПИД
Заменяется на идентификатор процесса текущего колотить процесс. Это отличается от $$ под
определенные обстоятельства, такие как подоболочки, которые не требуют колотить быть повторно
инициализирован.
BASH_ALIASES
Переменная ассоциативного массива, члены которой соответствуют внутреннему списку
псевдонимы, поддерживаемые псевдоним встроенный. Элементы, добавленные в этот массив, отображаются в
список псевдонимов; сброс элементов массива приводит к удалению псевдонимов из псевдонима
.
BASH_ARGC
Переменная массива, значения которой представляют собой количество параметров в каждом кадре
текущий колотить стек вызовов выполнения. Количество параметров к текущему
подпрограмма (функция оболочки или сценарий, выполняемый с . or источник) находится в верхней части
стек. Когда подпрограмма выполняется, количество переданных параметров равно
толкнул на BASH_ARGC. Наборы снарядов BASH_ARGC только при расширенной отладке
режим (см. описание экстдебаг вариант для купил встроенный ниже)
BASH_ARGV
Переменная массива, содержащая все параметры в текущем колотить выполнение
стек вызовов. Последний параметр последнего вызова подпрограммы находится в верхней части
куча; первый параметр первоначального вызова находится внизу. Когда подпрограмма
выполняется, предоставленные параметры помещаются в BASH_ARGV. Наборы снарядов
BASH_ARGV только в режиме расширенной отладки (см. описание экстдебаг
вариант для купил встроенный ниже)
BASH_CMDS
Переменная ассоциативного массива, элементы которой соответствуют внутренней хеш-таблице.
команд, поддерживаемых хэш встроенный. Появляются элементы, добавленные в этот массив
в хеш-таблице; отключение элементов массива приводит к удалению команд из
хеш-таблица.
BASH_КОМАНДА
Команда, выполняемая в данный момент или готовящаяся к выполнению, если оболочка не
выполнение команды в результате прерывания, в этом случае это команда
выполняется во время ловушки.
BASH_EXECUTION_STRING
Аргумент команды для -c вариант вызова.
BASH_LINENO
Переменная массива, членами которой являются номера строк в исходных файлах, где каждый
член-корреспондент ИМЯ ФУНКЦИИ был вызван. $ {BASH_LINENO [$i]} это линия
номер в исходном файле ($ {BASH_SOURCE [$ i + 1]}) где $ {FUNCNAME [$i]} назывался
(или $ {BASH_LINENO [$ i-1]} если на него есть ссылка в другой функции оболочки). Использовать ЛИНЕНО
для получения текущего номера строки.
BASH_REMATCH
Переменная массива, члены которой назначаются =~ бинарный оператор к [[
условная команда. Элемент с индексом 0 - это часть строки
соответствие всему регулярному выражению. Элемент с индексом n это часть
строка, соответствующая n-ое подвыражение в скобках. Эта переменная читается -
только.
BASH_SOURCE
Переменная массива, членами которой являются имена исходных файлов, где соответствующие
имена функций оболочки в ИМЯ ФУНКЦИИ переменные массива определены. Оболочка
функция $ {FUNCNAME [$i]} определено в файле $ {BASH_SOURCE [$i]} и позвонил из
$ {BASH_SOURCE [$ i + 1]}.
BASH_SUBSHELL
Увеличивается на единицу в каждой подоболочке или среде подоболочки, когда оболочка
начинает выполняться в этой среде. Начальное значение - 0.
БАШ_ВЕРСИНФО
Переменная массива только для чтения, члены которой содержат информацию о версии для этого экземпляра
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_LINE
Текущая командная строка. Эта переменная доступна только в функциях оболочки и
внешние команды, вызываемые средствами программируемого завершения (см.
Программируемый Завершение ниже).
COMP_POINT
Индекс текущей позиции курсора относительно начала текущего
команда. Если текущая позиция курсора находится в конце текущей команды,
значение этой переменной равно $ {# COMP_LINE}. Эта переменная доступна только
в функциях оболочки и внешних командах, вызываемых программируемым завершением
объекты (см. Программируемый Завершение ниже).
COMP_TYPE
Установите целочисленное значение, соответствующее типу попытки завершения, которую
вызвал функцию завершения: TAB, для нормального завершения, ?, Для
перечисление завершений после последовательных вкладок, !, для перечисления альтернатив на частичном
завершение слова, @, чтобы перечислить завершения, если слово не осталось неизменным, или %, Для
завершение меню. Эта переменная доступна только в функциях оболочки и во внешних
команды, вызываемые средствами программируемого завершения (см. Программируемый
Завершение ниже).
COMP_WORDBREAKS
Набор символов, которые Readline библиотека рассматривает как разделители слов, когда
выполнение завершения слова. Если COMP_WORDBREAKS расстроен, он теряет свое особое
свойства, даже если он впоследствии будет сброшен.
КОМП_СЛОВА
Переменная массива (см. Массивы ниже), состоящий из отдельных слов в
текущая командная строка. Строка разбита на слова как Readline разделил бы это,
через COMP_WORDBREAKS как описано выше. Эта переменная доступна только в оболочке
функции, вызываемые средствами программируемого завершения (см. Программируемый
Завершение ниже).
КОПРОК Переменная массива (см. Массивы ниже), созданный для хранения файловых дескрипторов для
вывод и ввод безымянного сопроцесса (см. Coprocesses выше).
ДИРСТЕК
Переменная массива (см. Массивы ниже), содержащий текущее содержимое
стек каталогов. Каталоги отображаются в стеке в том порядке, в котором они отображаются.
не провела обыск каталоги встроенный. Присвоение членам этой переменной массива может использоваться для
изменить каталоги, уже находящиеся в стеке, но Pushd и Popd встроенные функции должны быть
используется для добавления и удаления каталогов. Присвоение этой переменной не изменится
текущий каталог. Если ДИРСТЕК сброшен, он теряет свои особые свойства, даже
если он впоследствии будет сброшен.
EUID Заменяется на эффективный идентификатор текущего пользователя, инициализированный при запуске оболочки.
Эта переменная доступна только для чтения.
ИМЯ ФУНКЦИИ
Переменная массива, содержащая имена всех функций оболочки, находящихся в настоящее время в
стек вызовов выполнения. Элемент с индексом 0 - это имя любого в настоящее время-
выполнение функции оболочки. Самый нижний элемент (тот, у которого самый высокий индекс)
это «главное». Эта переменная существует только при выполнении функции оболочки.
Поручения ИМЯ ФУНКЦИИ не действуют и возвращают статус ошибки. Если ИМЯ ФУНКЦИИ is
не установлен, он теряет свои особые свойства, даже если впоследствии будет сброшен.

Эту переменную можно использовать с BASH_LINENO и BASH_SOURCE, Каждый элемент
ИМЯ ФУНКЦИИ имеет соответствующие элементы в BASH_LINENO и BASH_SOURCE описать
стек вызовов. Например, $ {FUNCNAME [$i]} был вызван из файла
$ {BASH_SOURCE [$ i + 1]} по номеру строки $ {BASH_LINENO [$i]}, гость встроенная
отображает текущий стек вызовов, используя эту информацию.
ГРУППЫ Переменная массива, содержащая список групп, в которых текущий пользователь является
член. Поручения ГРУППЫ не действуют и возвращают статус ошибки. Если
ГРУППЫ не настроен, он теряет свои особые свойства, даже если впоследствии сбрасывается.
ГИСТКМД
Номер истории или индекс в списке истории текущей команды. Если
ГИСТКМД не установлен, он теряет свои особые свойства, даже если впоследствии
сброс.
HOSTNAME
Автоматически устанавливается на имя текущего хоста.
ТИП ХОСТА
Автоматически устанавливается в строку, однозначно описывающую тип машины, на которой
колотить выполняется. Значение по умолчанию зависит от системы.
ЛИНЕНО При каждом обращении к этому параметру оболочка подставляет десятичное число
представление текущего последовательного номера строки (начиная с 1) в скрипте
или функция. Если не в скрипте или функции, подставляемое значение не
гарантированно будет значимым. Если ЛИНЕНО сброшен, он теряет свои особые свойства,
даже если впоследствии он будет сброшен.
ТИП МАШИНЫ
Автоматически устанавливается в строку, полностью описывающую тип системы, на которой колотить is
выполнение в стандартном GNU процессор-компания-система формат. По умолчанию используется система.
зависимый.
МАПФАЙЛ
Переменная массива (см. Массивы ниже), созданный для хранения текста, прочитанного файл карты
встроенный, если имя переменной не указано.
ОЛДПВД Предыдущий рабочий каталог, установленный cd команда.
ОПТАРГ Значение последнего аргумента опции, обработанное Getopts встроенная команда (см.
SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже).
ОПТИНОВАТЬ Индекс следующего аргумента, который будет обработан Getopts встроенная команда (см.
SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже).
ОСТИП Автоматически устанавливается в строку, описывающую операционную систему, в которой колотить is
выполнение. Значение по умолчанию зависит от системы.
ПИПЕСТАТУС
Переменная массива (см. Массивы ниже), содержащий список значений статуса выхода из
процессы в последнем запущенном конвейере переднего плана (который может содержать
только одна команда).
ППИД Идентификатор процесса родительской оболочки. Эта переменная доступна только для чтения.
PWD Текущий рабочий каталог, установленный cd команда.
RANDOM При каждом обращении к этому параметру используется случайное целое число от 0 до 32767.
сгенерировано. Последовательность случайных чисел может быть инициализирована путем присвоения значения
в RANDOM. Если RANDOM не установлен, он теряет свои особые свойства, даже если он
впоследствии сбросить.
READLINE_LINE
Содержание Readline строчный буфер для использования с "bind -x" (см. SHELL ВСТРОЕННЫЙ
КОМАНДЫ ниже).
READLINE_POINT
Положение точки вставки в Readline строковый буфер для использования с "bind
-x "(см. SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже).
оТВЕТИТЬ Устанавливается на строку ввода, читаемую читать встроенная команда, когда нет аргументов
в комплект поставки.
СЕКУНД
Каждый раз, когда на этот параметр ссылаются, количество секунд с момента, когда оболочка
вызов возвращается. Если значение присвоено СЕКУНД, значение, возвращаемое
последующие ссылки - это количество секунд с момента присвоения плюс значение
назначенный. Если СЕКУНД не установлен, он теряет свои особые свойства, даже если он
впоследствии сбросить.
ОБОЛОЧКИ
Список включенных параметров оболочки, разделенных двоеточиями. Каждое слово в списке является допустимым
аргумент в пользу -o вариант для набор встроенная команда (см. SHELL ВСТРОЕННЫЙ КОМАНДЫ
ниже). Параметры, появляющиеся в ОБОЛОЧКИ те, о которых сообщается как on by набор -o. Если
эта переменная находится в среде, когда колотить запускается, каждая опция оболочки в
список будет включен перед чтением любых файлов запуска. Эта переменная доступна только для чтения.
ШЛВЛ Увеличивается на единицу каждый раз, когда экземпляр колотить запущен
UID Расширяется до идентификатора текущего пользователя, инициализированного при запуске оболочки. Этот
переменная доступна только для чтения.

Оболочка использует следующие переменные. В некоторых случаях, колотить назначает значение по умолчанию
значение переменной; эти случаи указаны ниже.

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

Необязательный p это цифра, определяющая точность, количество знаков после запятой
после десятичной точки. При значении 0 десятичная точка или дробь не используются.
вывод. Может быть указано не более трех знаков после запятой; ценности p
больше 3 заменяются на 3. Если p не указан, используется значение 3.

Необязательный l указывает более длинный формат, включая минуты, в форме MMmSS.FFs.
Значение p определяет, включена ли дробь.

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

Массивы
Колотить предоставляет одномерные индексированные и ассоциативные переменные массива. Любая переменная может
использоваться как индексированный массив; в объявлять builtin явно объявляет массив. Там
нет ни максимального ограничения на размер массива, ни каких-либо требований, чтобы члены были индексированы
или назначается непрерывно. Для ссылки на индексированные массивы используются целые числа (включая
арифметические выражения) и отсчитываются от нуля; Ссылка на ассоциативные массивы осуществляется с помощью
произвольные строки. Если не указано иное, индексы индексированного массива должны быть неотрицательными.
целые числа.

Индексированный массив создается автоматически, если какая-либо переменная назначается с использованием синтаксиса
имя[индекс]=ценностное , индекс рассматривается как арифметическое выражение, которое должно
оценить до числа. Чтобы явно объявить индексированный массив, используйте объявлять -a имя (См.
SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже). объявлять -a имя[индекс] тоже принимается; в индекс
игнорируется

Ассоциативные массивы создаются с использованием объявлять -A имя.

Атрибуты могут быть указаны для переменной массива с помощью объявлять и только для чтения встроенные.
Каждый атрибут применяется ко всем членам массива.

Массивы назначаются с использованием составных присваиваний формы имя=(ценностное 1 ... ценностьn),
где каждый ценностное имеет вид [индекс]=string. Назначения индексированных массивов не
требовать ничего, кроме string. При присвоении индексированным массивам, если необязательные скобки
и нижний индекс, которому присваивается этот индекс; в противном случае индекс элемента
Назначенный - это последний индекс, присвоенный оператором плюс один. Индексирование начинается в
нулю.

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

Этот синтаксис также принят объявлять встроенный. Отдельные элементы массива могут быть
назначен на использование имя[индекс]=ценностное синтаксис, представленный выше. При назначении
индексированный массив, если имя имеет нижний индекс отрицательным числом, это число интерпретируется как
относительно единицы, превышающей максимальный индекс имя, поэтому отрицательные индексы отсчитывают
от конца массива, а индекс -1 ссылается на последний элемент.

На любой элемент массива можно ссылаться с помощью $ {имя[индекс]}. Подтяжки
требуется, чтобы избежать конфликтов с раскрытием имени пути. Если индекс is @ or *, слово
распространяется на всех членов имя. Эти нижние индексы различаются только тогда, когда слово появляется внутри
двойные кавычки. Если слово заключено в двойные кавычки, $ {имя[*]} заменяется одним словом с
значение каждого члена массива, разделенное первым символом IFS специальная переменная,
и $ {имя[@]} раскрывает каждый элемент имя к отдельному слову. Когда нет массива
участники, $ {имя[@]} превращается в ничего. Если расширение в двойных кавычках встречается внутри
слово, расширение первого параметра присоединяется к начальной части
исходное слово, а расширение последнего параметра присоединяется к последней части
исходное слово. Это аналогично расширению специальных параметров. * и @ (См.
Особый параметры выше). $ {#имя[индекс]} расширяется до длины
${имя[индекс]}. Если индекс is * or @, разложение - это количество элементов в
массив. Ссылка на переменную массива без индекса эквивалентна ссылке
массив с индексом 0. Если индекс используется для ссылки на элемент
индексированный массив оценивается как число меньше нуля, он интерпретируется как относительный к единице
больше максимального индекса массива, поэтому отрицательные индексы отсчитываются от конца
массива, а индекс -1 ссылается на последний элемент.

Переменная массива считается установленной, если значение было присвоено нижнему индексу. Нулевой
строка - допустимое значение.

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

Ассоциация сброшен Встроенный используется для уничтожения массивов. сброшен имя[индекс] уничтожает массив
элемент по индексу индекс. Отрицательные индексы индексированных массивов интерпретируются как
описано выше. Необходимо соблюдать осторожность, чтобы избежать нежелательных побочных эффектов, вызванных именем пути.
расширение. сброшен имя, Где имя это массив, или сброшен имя[индекс], где индекс
is * or @, удаляет весь массив.

Ассоциация объявлять, локальнымкачества только для чтения каждая встроенная команда принимает -a возможность указать проиндексированный
массив и -A возможность указать ассоциативный массив. Если поставляются оба варианта, -A
имеет приоритет. В читать встроенный принимает -a возможность назначить список прочитанных слов
из стандартного ввода в массив. В набор и объявлять встроенные функции отображают значения массива в
способ, позволяющий повторно использовать их в качестве назначений.

РАСШИРЕНИЕ


Расширение выполняется в командной строке после того, как она была разбита на слова. Есть
выполнено семь видов расширения: угли расширение, тильда расширение, параметр и
переменная расширение, команду замена, арифметика расширение, слово расщеплениекачества
пути расширение.

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

В системах, которые могут его поддерживать, доступно дополнительное расширение: процесс
замена. Это выполняется одновременно с тильдой, параметром, переменной и
арифметическое раскрытие и подстановка команд.

Только расширение скобок, разделение слов и расширение имени пути могут изменить количество
слова расширения; другие расширения расширяют одно слово до одного слова. Единственный
Исключениями являются расширения "$@, а также${имя[@]}"как объяснено выше (см.
ПАРАМЕТРЫ).

распорка расширение
распорка расширение это механизм, с помощью которого могут быть сгенерированы произвольные строки. Этот
механизм похож на пути расширение, но сгенерированные имена файлов могут не существовать.
Выкройки, которые необходимо развернуть, могут иметь форму необязательного преамбула, за которым следует либо
последовательность строк, разделенных запятыми, или выражение последовательности между парой фигурных скобок,
с последующим необязательным постскриптум. Преамбула ставится перед каждой содержащейся строкой.
внутри фигурных скобок, а затем к каждой результирующей строке добавляется постскриптум, расширяя
слева направо.

Раскладки скобок могут быть вложенными. Результаты каждой развернутой строки не сортируются; левый
в правильном порядке сохраняется. Например,{г, в, б}e заменяется на "ade ace abe".

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

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

Правильно сформированное раскрытие фигурных скобок должно содержать открывающие и закрывающие фигурные скобки без кавычек, а также
по крайней мере одна запятая без кавычек или допустимое выражение последовательности. Любая неправильно сформированная скоба
расширение оставлено без изменений. А { or , можно заключить в кавычки с обратной косой чертой, чтобы предотвратить его
считается частью выражения скобки. Чтобы избежать конфликтов с расширением параметров,
string ${ не считается подходящим для расширения скобок.

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

mkdir / usr / local / src / bash / {старый, новый, расст, ошибки}
or
корень / usr /{ucb / {ex, edit}, lib / {ex?.? *, how_ex}}

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

Тильда расширение
Если слово начинается с символа тильды без кавычек (`~'), все символы, предшествующие
первая косая черта без кавычек (или все символы, если нет косой черты без кавычек) считаются
a префикс тильды. Если ни один из символов в префиксе тильды не заключен в кавычки, символы
в префиксе тильды после тильды рассматриваются как возможные Войти имя. Если это
имя входа - это пустая строка, тильда заменяется значением параметра оболочки
ГЛАВНАЯ. Если ГЛАВНАЯ не установлен, домашний каталог пользователя, запускающего оболочку, заменяется
вместо. В противном случае префикс тильды заменяется домашним каталогом, связанным с
указанное имя для входа.

Если префикс тильды - это `~ + ', значение переменной оболочки PWD заменяет тильду-
префикс. Если тильда-префикс - это `~ - ', значение переменной оболочки ОЛДПВД, если это
набор, заменен. Если символы, следующие за тильдой в префиксе тильды, состоят из
число N, необязательно с префиксом `+ 'или` -', префикс тильды заменяется на
соответствующий элемент из стека каталогов, как он будет отображаться каталоги
Встроенная функция вызывается с префиксом тильды в качестве аргумента. Если символы, следующие за
тильда в префиксе тильды состоит из числа без символа "+" или "-" в начале, "+" - это
предполагается.

Если имя пользователя недействительно или раскрытие тильды не выполняется, слово не изменяется.

Каждое присвоение переменной проверяется на наличие префиксов тильды без кавычек, следующих сразу за :
или первый =. В этих случаях также выполняется раскрытие тильды. Следовательно, можно
использовать имена файлов с тильдами в присвоении PATH, ПОЧТОВЫЙ ПУТЬкачества CDPATH, а оболочка
присваивает развернутое значение.

Параметр расширение
`$'символ вводит расширение параметра, подстановку команды или арифметику
расширение. Имя параметра или символ, который нужно раскрыть, можно заключить в фигурные скобки, которые
являются необязательными, но служат для защиты переменной, которая будет немедленно расширена, от символов
после него, что можно интерпретировать как часть имени.

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

${параметр}
Значение параметр заменяется. Подтяжки необходимы, когда параметр - это
позиционный параметр с более чем одной цифрой, или когда параметр сопровождается
символ, который не следует интерпретировать как часть его имени. В параметр - это
параметр оболочки, как описано выше ПАРАМЕТРЫ) или ссылку на массив (Массивы).

Если первый символ параметр восклицательный знак (!), он вводит уровень
переменная косвенность. Колотить использует значение переменной, сформированное из остальной части
параметр как имя переменной; затем эта переменная расширяется, и это значение
используется в остальной части замены, а не значение параметр сам. Это
известный как косвенный расширение. Исключением являются расширения $ {!префикс*} а также
${!имя[@]} описано ниже. Восклицательный знак должен стоять сразу за левой фигурной скобкой.
для того, чтобы ввести косвенное обращение.

В каждом из приведенных ниже случаев слово подлежит расширению тильды, расширению параметров,
подстановка команд и арифметическое расширение.

Если не выполняется раскрытие подстроки, используйте формы, описанные ниже (например, :-), колотить
проверяет параметр, который не установлен или равен нулю. Отсутствие толстой кишки приводит только к результатам теста
для параметра, который не установлен.

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

If смещение оценивается как число меньше нуля, значение используется как смещение в
символы с конца значения параметр. Если оценивается в число
меньше нуля, это интерпретируется как смещение в символах от конца
Значение параметр а не количество символов, и расширение - это
символы между смещение и вот результат. Обратите внимание, что отрицательное смещение должно быть
отделены от двоеточия хотя бы одним пробелом, чтобы его не путали с :-
расширение.

If параметр is @результат позиционные параметры, начинающиеся с смещение.
Отрицательный смещение берется относительно единицы, превышающей наибольшее позиционное
параметр, поэтому смещение -1 соответствует последнему позиционному параметру. Это
ошибка раскрытия, если оценивается как число меньше нуля.

If параметр - имя индексированного массива с индексами @ или *, результатом будет
члены массива, начинающиеся с $ {параметр[смещение]}. Отрицательный смещение
берется относительно единицы, превышающей максимальный индекс указанного массива. Это
это ошибка раскрытия, если оценивается как число меньше нуля.

Расширение подстроки, примененное к ассоциативному массиву, дает неопределенные результаты.

Индексирование подстроки начинается с нуля, если не используются позиционные параметры, в
в этом случае индексирование по умолчанию начинается с 1. Если смещение равно 0, а позиционный
параметры используются, $0 стоит перед списком.

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

${!имя[@]}
${!имя[*]}
Список of массив ключи. Если имя - переменная массива, расширяется до списка массива
индексы (ключи), присвоенные в имя. Если имя не является массивом, расширяется до 0, если имя is
установить и ноль в противном случае. Когда @ используется, и расширение появляется в двойном
кавычки, каждая клавиша заменяется отдельным словом.

${#параметр}
Параметр . Длина в символах значения параметр is
заменены. Если параметр is * or @, подставляемое значение - это количество
позиционные параметры. Если параметр это имя массива с нижним индексом * or @,
подставляемое значение - это количество элементов в массиве. Если параметр есть
имя индексированного массива, подписанное отрицательным числом, это число интерпретируется как
относительно единицы, превышающей максимальный индекс параметр, поэтому отрицательные показатели
обратный отсчет от конца массива, и индекс -1 ссылается на последний
элемент.

${параметр#слово}
${параметр##слово}
Удалить согласование префикс описания, слово расширяется, чтобы создать узор так же, как
в раскрытии имени пути. Если шаблон совпадает с началом значения
параметр, то результатом разложения будет разложенное значение параметр
самый короткий шаблон соответствия (``#'' case) или самый длинный совпадающий шаблон (
``##'' case) удален. Если параметр is @ or *, операция удаления шаблона
применяется к каждому позиционному параметру по очереди, и расширение является результирующим
список. Если параметр переменная массива с индексом @ or *, шаблон
операция удаления применяется к каждому члену массива по очереди, а раскрытие
- итоговый список.

${параметр%слово}
${параметр%%слово}
Удалить согласование суффикс описания, слово расширяется, чтобы создать узор так же, как
в раскрытии имени пути. Если шаблон соответствует конечной части развернутого
Значение параметр, то результатом разложения будет разложенное значение
параметр с самым коротким совпадающим шаблоном (символ ``%случай) или самый длинный
соответствующий шаблон (``%%'' case) удален. Если параметр is @ or *, шаблон
операция удаления применяется к каждому позиционному параметру по очереди, и
расширение - это результирующий список. Если параметр переменная массива с индексом
@ or *, операция удаления шаблона применяется к каждому члену массива
в свою очередь, и расширение является результирующим списком.

${параметр/описания/string}
шаблон замена, описания расширяется, чтобы создать узор так же, как в
расширение имени пути. Параметр расширяется и самое длинное совпадение описания против
его значение заменяется на string. Если описания начинается с /, все матчи
описания заменены на string. Обычно заменяется только первое совпадение. Если
описания начинается с #, он должен соответствовать началу развернутого значения
параметр. Если описания начинается с %, он должен совпадать с концом развернутого
Значение параметр. Если string равно нулю, совпадения описания удалены, а /
после описания может быть опущено. Если параметр is @ or *, замена
операция применяется к каждому позиционному параметру по очереди, и расширение является
результирующий список. Если параметр переменная массива с индексом @ or *,
операция подстановки применяется к каждому члену массива по очереди, и
расширение - это результирующий список.

${параметр^описания}
${параметр^^описания}
${параметр,описания}
${параметр,,описания}
Кейсы модификация. Это расширение изменяет регистр буквенных символов в
параметр, описания расширяется для создания шаблона так же, как в имени пути
расширение. Каждый символ в развернутом значении параметр проверяется на
описания, и, если он соответствует шаблону, его регистр преобразуется. Выкройка должна
не пытайтесь сопоставить более одного символа. В ^ оператор преобразует строчные буквы
соответствие букв описания в верхний регистр; в , оператор преобразует совпадающие заглавные буквы
буквы в нижний регистр. В ^^ и ,, расширения преобразуют каждый совпавший символ в
развернутое значение; в ^ и , расширения совпадают и конвертируют только первые
символ в развернутом значении. Если описания опущен, он рассматривается как ?,
который соответствует каждому символу. Если параметр is @ or *, модификация корпуса
операция применяется к каждому позиционному параметру по очереди, и расширение является
результирующий список. Если параметр переменная массива с индексом @ or *,
операция модификации case применяется к каждому члену массива по очереди, и
расширение - это результирующий список.

Command подмена
Command замена позволяет в выводе команды заменять имя команды. Там
бывают две формы:

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

Колотить выполняет расширение, выполняя команду и заменив команду подстановкой
со стандартным выводом команды с удалением любых завершающих символов новой строки. Встроенный
новые строки не удаляются, но их можно удалить во время разделения слов. Команда
замена $ (кошка файл) можно заменить на эквивалент, но быстрее $ ( файл).

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

Подстановки команд могут быть вложенными. Чтобы вложить при использовании формы с обратными кавычками, экранируйте
внутренние обратные кавычки с обратной косой чертой.

Если подстановка заключена в двойные кавычки, происходит разделение слов и расширение имени пути
не выполняются по результатам.

Арифметический расширение
Арифметическое расширение позволяет вычислять арифметическое выражение и
подмена результата. Формат арифметического расширения:

$ ((выражение))

Старый формат $[выражение] устарел и будет удален в следующих версиях
баш.

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

Оценка выполняется в соответствии с правилами, перечисленными ниже в разделе АРИФМЕТИЧЕСКИЙ
ОЦЕНКА. Если выражение является недействительным, колотить печатает сообщение, указывающее на сбой, и нет
происходит подмена.

Обработка подмена
Обработка замена поддерживается в системах, поддерживающих именованные каналы (ФИФО) или
/ dev / fd метод наименования открытых файлов. Он принимает форму <(список) or >(список),
процесс список запускается с его входом или выходом, подключенным к FIFO или какой-то файл в / dev / fd.
Имя этого файла передается в качестве аргумента текущей команде в результате выполнения
расширение. Если >(список) форма, запись в файл предоставит ввод для список.
Если же линия индикатора <(список) форма, файл, переданный в качестве аргумента, должен быть прочитан, чтобы получить
выход список.

Если доступно, замена процесса выполняется одновременно с параметром и
расширение переменных, подстановка команд и арифметическое расширение.

Word расщепляющий
Оболочка просматривает результаты раскрытия параметров, подстановки команд и арифметических действий.
расширение, которое не было заключено в двойные кавычки для слово расщепление.

Оболочка обрабатывает каждый символ IFS в качестве разделителя и разделяет результаты другого
расширения в слова с использованием этих символов в качестве ограничителей полей. Если IFS не установлен, или
его стоимость точно , значение по умолчанию, затем последовательности , ,
и в начале и в конце результатов предыдущих расширений
игнорируется, и любая последовательность IFS символы не в начале и не в конце служат для ограничения
слова. Если IFS имеет значение, отличное от значения по умолчанию, то последовательности пробелов
символы космосе и таб игнорируются в начале и в конце слова, пока
пробельный символ находится в значении IFS ( IFS пробельный символ). Любой персонаж
in IFS это не IFS пробел вместе с любыми соседними IFS пробельные символы,
ограничивает поле. Последовательность IFS пробельные символы также рассматриваются как разделители.
Если значение IFS равно нулю, разбиение слов не происходит.

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

Обратите внимание, что если расширения не происходит, разделение не выполняется.

Pathname расширение
После разделения слов, если -f опция была установлена, колотить сканирует каждое слово в поисках
символы *, ?качества [. Если появляется один из этих символов, то слово считается
a описания, и заменен отсортированным по алфавиту списком имен файлов, соответствующих
узор (см. шаблон Согласование ниже). Если совпадающие имена файлов не найдены, и оболочка
вариант нульглоб не включен, слово остается без изменений. Если нульглоб опция
установлено, и совпадений не найдено, слово удаляется. Если фейлглоб установлена ​​опция оболочки,
и совпадений не найдено, выводится сообщение об ошибке и команда не выполняется. Если
вариант оболочки ноказеглоб включен, сопоставление выполняется без учета регистра
буквенных символов. Обратите внимание, что при использовании выражений диапазона, таких как [az] (см. Ниже),
буквы другого регистра могут быть включены, в зависимости от настройки LC_COLLATE. Когда
шаблон используется для расширения имени пути, символ ``. '' в начале имени или
сразу после косой черты должны совпадать явно, если только опция оболочки многоточие
установлен. При сопоставлении имени пути символ косой черты всегда должен совпадать явно.
В остальных случаях ``. '' персонаж особо не лечится. См. Описание
купил ниже под SHELL ВСТРОЕННЫЙ КОМАНДЫ для описания ноказеглоб, нульглоб,
фейлглобкачества многоточие параметры оболочки.

Ассоциация ГЛОБИННОР переменная оболочки может использоваться для ограничения набора имен файлов, соответствующих
описания. Если ГЛОБИННОР установлено, каждое совпадающее имя файла, которое также соответствует одному из
узоры в ГЛОБИННОР удаляется из списка совпадений. Имена файлов ``. '' и
`` .. '' всегда игнорируются, когда ГЛОБИННОР установлено и не равно нулю. Однако установка
ГЛОБИННОР к ненулевому значению имеет эффект включения многоточие вариант оболочки, так что все
другие имена файлов, начинающиеся с ``. '' будет соответствовать. Чтобы получить старое поведение игнорирования
имена файлов, начинающиеся с ``. '', делать ``. * '' один из шаблонов в ГЛОБИННОР,
многоточие опция отключена, когда ГЛОБИННОР не настроен.

шаблон Согласование

Любой символ, который появляется в шаблоне, кроме символов специального шаблона.
описанный ниже, совпадает сам с собой. Символ NUL не может встречаться в шаблоне. А
обратная косая черта экранирует следующий символ; экранирующая обратная косая черта отбрасывается, когда
соответствие. Символы специального шаблона должны быть заключены в кавычки, если они должны быть сопоставлены.
в прямом смысле.

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

* Соответствует любой строке, включая нулевую строку. Когда Globstar оболочка
опция включена, и * используется в контексте расширения имени пути, два
примыкающий *s, используемый как единый шаблон, будет соответствовать всем файлам и нулю или более
каталоги и подкаталоги. Если за ним следует /, два соседних *с волей
соответствуют только каталогам и подкаталогам.
? Соответствует любому одиночному символу.
[...] Соответствует любому из заключенных символов. Пара символов разделена
дефисом обозначает ассортимент выражение; любой персонаж, который находится между
эти два символа включительно с использованием сопоставления текущей локали
последовательность и набор символов совпадают. Если первый символ, следующий за
домен [ - это ! или ^ тогда сопоставляется любой не заключенный символ. В
порядок сортировки символов в выражениях диапазона определяется
текущий языковой стандарт и значения LC_COLLATE or LC_ALL переменные оболочки,
если установлен. Чтобы получить традиционную интерпретацию выражений диапазона,
в котором [объявление] эквивалентна [абкд], установите значение LC_ALL переменная оболочки
в C, или включите глобусы вариант оболочки. А - может соответствовать
включая его как первый или последний символ в наборе. А ] может быть сопоставлен
включив его как первый символ в наборе.

В [ и ], персонаж классов можно указать с помощью синтаксиса
[:класс:], Где класс является одним из следующих классов, определенных в POSIX
стандарт:
альбом альфа ASCII пустой контроль цифра график ниже Распечатать точка космосе верхний слово
xцифра
Класс символов соответствует любому символу, принадлежащему к этому классу. В слово
класс символов соответствует буквам, цифрам и символу _.

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

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

Если же линия индикатора extglob опция оболочки включается с помощью купил встроенный, несколько расширенных шаблонов
распознаются операторы сопоставления. В следующем описании список шаблонов это список
одного или нескольких шаблонов, разделенных |. Составные узоры могут быть сформированы с использованием одного или
больше следующих подшаблонов:

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

котировка Удаление
После предыдущих расширений все не заключенные в кавычки вхождения символов \, 'качества "
которые не являются результатом одного из вышеперечисленных расширений, удаляются.

ПЕРЕНАПРАВЛЕНИЕ


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

Каждое перенаправление, которому может предшествовать номер дескриптора файла, может вместо этого предшествовать
словом формы {VarName}. В этом случае для каждого оператора перенаправления, кроме> & -
и <& -, оболочка выделит дескриптор файла больше или равный 10 и назначит
его VarName. Если> & - или <& - предшествует {VarName}, значение VarName определяет
дескриптор файла, который нужно закрыть.

В следующих описаниях, если номер дескриптора файла опущен, а первое
символ оператора перенаправления <, перенаправление относится к стандартному вводу
(дескриптор файла 0). Если первый символ оператора перенаправления >,
перенаправление относится к стандартному выводу (файловый дескриптор 1).

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

Обратите внимание, что порядок перенаправления имеет значение. Например, команда

ls > список 2>&1

направляет в файл как стандартный вывод, так и стандартную ошибку дилетант, а команда

ls 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]>слово

Если оператор перенаправления >, и никчемный вариант для набор встроенный был
включено, перенаправление не удастся, если файл, имя которого является результатом расширения
слово существует и является обычным файлом. Если оператор перенаправления >|, или перенаправление
оператор > и никчемный вариант для набор встроенная команда не включена,
перенаправление выполняется, даже если файл с именем слово существует.

Добавление данных Перенаправлено Результат
Такое перенаправление вывода приводит к тому, что файл, имя которого является результатом
расширение слово быть открытыми для добавления в файловый дескриптор n, или стандартный вывод
(дескриптор файла 1), если n не указано. Если файл не существует, он создается.

Общий формат добавления вывода:

[n]>>слово

Перенаправление Стандарт Результат и Стандарт Ошибка
Эта конструкция допускает как стандартный вывод (файловый дескриптор 1), так и стандартную ошибку.
вывод (дескриптор файла 2), который будет перенаправлен в файл, имя которого является расширением
слово.

Существует два формата перенаправления стандартного вывода и стандартной ошибки:

&>слово
и
>&слово

Из двух форм предпочтительнее первая. Это семантически эквивалентно

>слово 2>&1

При использовании второй формы слово не может расширяться до числа или -. Если это так, другие
применяются операторы перенаправления (см. Дублирование Файл Дескрипторы ниже) для совместимости
причины.

Добавление данных Стандарт Результат и Стандарт Ошибка
Эта конструкция допускает как стандартный вывод (файловый дескриптор 1), так и стандартную ошибку.
вывод (дескриптор файла 2), который будет добавлен к файлу, имя которого является расширением слово.

Формат для добавления стандартного вывода и стандартной ошибки:

& >>слово

Это семантически эквивалентно

>>слово 2>&1

(См. Дублирование Файл Дескрипторы ниже).

Здесь Документы
Этот тип перенаправления указывает оболочке читать ввод из текущего источника до тех пор, пока
строка, содержащая только ограничитель (без конечных пробелов). Все строки читаются
до этого момента используются как стандартный ввод для команды.

Формат здесь-документов:

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

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

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

Здесь Струны
Вариант представленных здесь документов, формат:

<<слово

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

Дублирование Файл Дескрипторы
Оператор перенаправления

[n]<&слово

используется для дублирования дескрипторов входных файлов. Если слово расширяется до одной или нескольких цифр,
дескриптор файла, обозначенный n создается как копия этого файлового дескриптора. Если цифры
in слово не указывайте дескриптор файла, открытый для ввода, возникает ошибка перенаправления. Если
слово оценивает -, дескриптор файла n закрыто. Если n не указано, стандарт
используется ввод (файловый дескриптор 0).

Оператор

[n]>&слово

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

Перемещение Файл Дескрипторы
Оператор перенаправления

[n]<&цифра-

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

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

[n]>&цифра-

перемещает файловый дескриптор цифра в файловый дескриптор n, или стандартный вывод (файл
дескриптор 1), если n не указано

открытие Файл Дескрипторы для Reading и Writing
Оператор перенаправления

[n]<>слово

вызывает файл, имя которого является расширением слово быть открытыми как для чтения, так и для
запись в файловый дескриптор n, или на файловом дескрипторе 0, если n не указано. Если файл
не существует, он создан.

НИКНЕЙМЫ


Псевдонимов разрешить замену строки на слово, когда оно используется в качестве первого слова
простая команда. Оболочка поддерживает список псевдонимов, которые могут быть установлены и отключены с помощью
псевдоним и Unalias встроенные команды (см. SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже). Первое слово
каждая простая команда, если она не заключена в кавычки, проверяется на предмет наличия псевдонима. Если да, то это слово
заменяется текстом псевдонима. Персонажи /, $, `качества = и любая оболочка
метасимволы или цитирующие символы, перечисленные выше, могут не появляться в псевдониме. В
Текст замены может содержать любой допустимый ввод оболочки, включая метасимволы оболочки. В
первое слово заменяющего текста проверяется на псевдонимы, но слово, идентичное
расширяемый псевдоним не расширяется второй раз. Это означает, что можно использовать псевдоним ls
в ls -Fнапример, и колотить не пытается рекурсивно расширять замещающий текст.
Если последний символ значения псевдонима - пустой, затем следующее командное слово после
псевдоним также проверяется на предмет расширения псевдонима.

Псевдонимы создаются и перечисляются с псевдоним команда и удалена с помощью Unalias
команда.

Механизма использования аргументов в тексте замены нет. Если аргументы
необходимо использовать функцию оболочки (см. ФУНКЦИИ ниже).

Псевдонимы не раскрываются, если оболочка не интерактивна, если только expand_aliases
параметр оболочки устанавливается с помощью купил (см. описание купил под SHELL ВСТРОЕННЫЙ КОМАНДЫ
ниже).

Правила, касающиеся определения и использования псевдонимов, несколько сбивают с толку. Колотить
всегда читает как минимум одну полную строку ввода перед выполнением любой из команд на
эта линия. Псевдонимы раскрываются при чтении команды, а не при ее выполнении.
Следовательно, определение псевдонима, появляющееся в той же строке, что и другая команда, не принимает
эффект до тех пор, пока не будет прочитана следующая строка ввода. Команды, следующие за определением псевдонима
в этой строке новый псевдоним не влияет. Это поведение также является проблемой, когда
функции выполняются. Псевдонимы раскрываются при чтении определения функции, а не при
функция выполняется, потому что определение функции само по себе является составной командой. В виде
как следствие, псевдонимы, определенные в функции, доступны только после этой функции.
выполняется. На всякий случай всегда помещайте определения псевдонимов в отдельную строку и не используйте
псевдоним в составных командах.

Почти для всех целей псевдонимы заменяются функциями оболочки.

ФУНКЦИИ


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

Все остальные аспекты среды выполнения оболочки идентичны между функцией и
его вызывающий за этими исключениями: ОТЛАЖИВАТЬ и ВЕРНУТЬ ловушки (см. описание
ловушка встроенный под SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже) не наследуются, если функция не имеет
получил прослеживать атрибут (см. описание объявлять встроенный ниже) или
-o функция опция оболочки была включена с набор встроенный (в этом случае все
функции наследуют ОТЛАЖИВАТЬ и ВЕРНУТЬ ловушки), а ERR ловушка не наследуется, если
домен -o ошибка опция оболочки была включена.

Переменные, локальные для функции, могут быть объявлены с локальным встроенная команда.
Обычно переменные и их значения разделяются между функцией и ее вызывающей стороной.

Ассоциация ВЕСЕЛЬЕ переменная, если ей присвоено числовое значение больше 0, определяет максимум
уровень вложенности функций. Вызов функций, которые превышают предел, вызывают все
команда для отмены.

Если встроенная команда возвращают выполняется в функции, функция завершается и
выполнение возобновляется следующей командой после вызова функции. Любая связанная команда
с ВЕРНУТЬ trap выполняется до возобновления выполнения. Когда функция завершается,
значения позиционных параметров и специальный параметр # восстанавливаются до значений
они были до выполнения функции.

Имена и определения функций могут быть перечислены с -f вариант для объявлять or набрана
встроенные команды. В -F вариант объявлять or набрана перечислит только имена функций
(и, возможно, исходный файл и номер строки, если экстдебаг опция оболочки включена).
Функции могут быть экспортированы, так что подоболочки автоматически определяют их с помощью -f
вариант для экспорт встроенный. Определение функции можно удалить с помощью -f вариант
домен сброшен встроенный. Обратите внимание, что функции оболочки и переменные с одинаковыми именами могут приводить к
в нескольких записях с одинаковыми именами в среде, передаваемых потомкам оболочки.
Следует проявлять осторожность в случаях, когда это может вызвать проблемы.

Функции могут быть рекурсивными. В ВЕСЕЛЬЕ переменная может использоваться для ограничения глубины
стек вызовов функций и ограничить количество вызовов функций. По умолчанию без ограничений
накладывается на количество рекурсивных вызовов.

АРИФМЕТИЧЕСКИЙ ОЦЕНКА


Оболочка позволяет вычислять арифметические выражения при определенных обстоятельствах (см.
домен позволять и объявлять встроенные команды и Арифметический расширение). Оценка проводится в
целые числа фиксированной ширины без проверки переполнения, хотя деление на 0 задерживается и
отмечен как ошибка. Операторы, их приоритет, ассоциативность и значения:
то же, что и в языке Си. Следующий список операторов сгруппирован по уровням
операторы равного приоритета. Уровни перечислены в порядке убывания приоритета.

id++ id--
переменный пост-инкремент и пост-декремент
++id --id
переменный пре-инкремент и пре-декремент
- + унарный минус и плюс
! ~ логическое и побитовое отрицание
** экспоненцирование
* / % умножение, деление, остаток
+ - сложение, вычитание
<< >> побитовые сдвиги влево и вправо
<= >= < >
сравнение
== != равенство и неравенство
& побитовое И
^ побитовое исключающее ИЛИ
| побитовое ИЛИ
&& логическое И
|| логическое ИЛИ
выраж?выраж:выраж
условный оператор
= *= /= %= += -= << = >> = &= ^= |=
назначение
выражение1 , выражение2
запятая

Переменные оболочки разрешены как операнды; расширение параметра выполняется до
выражение оценивается. В выражении на переменные оболочки также может ссылаться
имя без использования синтаксиса расширения параметра. Переменная оболочки, имеющая значение NULL или не заданная
принимает значение 0 при ссылке по имени без использования синтаксиса раскрытия параметра. В
значение переменной оценивается как арифметическое выражение, когда на нее ссылаются, или
когда переменная, которой присвоено целое атрибут с использованием объявлять -i назначен
ценность. Нулевое значение оценивается как 0. Переменная оболочки не обязательно должна иметь целое атрибут
включен для использования в выражении.

Константы с начальным 0 интерпретируются как восьмеричные числа. Ведущие 0x или 0X обозначают
шестнадцатеричный. В противном случае числа принимают вид [база#] n, где необязательный Использование темпера с изогнутым основанием - это
десятичное число от 2 до 64, представляющее арифметическое основание, и n это число в
эта база. Если база# опускается, то используется основание 10. При указании n, цифры
больше <9 представлены строчными буквами, прописными буквами, @ и _,
в этой последовательности. Если Использование темпера с изогнутым основанием меньше или равно 36, строчные и прописные буквы могут
могут использоваться как взаимозаменяемые для обозначения чисел от 10 до 35.

Операторы оцениваются в порядке приоритета. Подвыражения в скобках
оценивается первым и может переопределить приведенные выше правила приоритета.

Условный ВЫРАЖЕНИЯ


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

Если не указано иное, первичные файлы, которые работают с файлами, следуют символическим ссылкам и
работают с целью ссылки, а не с самой ссылкой.

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

-a файл
Верно, если файл существует.
-b файл
Верно, если файл существует и представляет собой специальный блочный файл.
-c файл
Верно, если файл существует и является специальным символьным файлом.
-d файл
Верно, если файл существует и является каталогом.
-e файл
Верно, если файл существует.
-f файл
Верно, если файл существует и является обычным файлом.
-g файл
Верно, если файл существует и имеет идентификатор группы.
-h файл
Верно, если файл существует и является символической ссылкой.
-k файл
Верно, если файл существует и установлен его `` липкий '' бит.
-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 имя опции
Истинно, если опция оболочки имя опции включен. См. Список опций под
описание -o вариант для набор встроенный ниже.
-v VarName
Истинно, если переменная оболочки VarName установлено (было присвоено значение).
-R VarName
Истинно, если переменная оболочки VarName установлен и является ссылкой на имя.
-z string
Верно, если длина string это ноль.
string
-n string
Верно, если длина string ненулевой

string1 == string2
string1 = string2
Истинно, если строки равны. = следует использовать с тестXNUMX команда для POSIX
соответствие. При использовании с [[ команда, это выполняет сопоставление с образцом как
описано выше (Соединение Команды).

string1 != string2
Верно, если строки не равны.

string1 < string2
Верно, если string1 сортирует до string2 лексикографически.

string1 > string2
Верно, если string1 сортирует после string2 лексикографически.

arg1 OP arg2
OP один из -экв, Ne-, -lt, -Le, -GTили -гэ. Эти арифметические бинарные операторы
вернуть истину, если arg1 равно, не равно, меньше, меньше или равно,
больше или больше или равно arg2, Соответственно. Арг1 и arg2 может быть
положительные или отрицательные целые числа.

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


Когда выполняется простая команда, оболочка выполняет следующие расширения:
назначения и перенаправления слева направо.

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

2. Слова, которые не являются назначениями переменных или перенаправлениями, раскрываются. Если есть
слова остаются после раскрытия, первое слово принимается за имя команды
а остальные слова - аргументы.

3. Перенаправления выполняются, как описано выше в разделе ПЕРЕНАПРАВЛЕНИЕ.

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

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

Если имя команды не дается, перенаправления выполняются, но не влияют на текущую
оболочка. Ошибка перенаправления приводит к завершению команды с ненулевым статусом.

Если после раскрытия осталось имя команды, выполнение продолжается, как описано ниже.
В противном случае команда завершается. Если одно из расширений содержало подстановку команд,
статус выхода команды - это статус выхода последней подстановки команды
выполненный. Если подстановок команд не было, команда завершается со статусом
нулю.

КОМАНДА ИСПОЛНЕНИЕ


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

Если имя команды не содержит косых черт, оболочка пытается найти ее. Если существует
функция оболочки с таким именем, эта функция вызывается, как описано выше в ФУНКЦИИ.
Если имя не соответствует функции, оболочка ищет ее в списке оболочки.
встроенные. Если найдено совпадение, вызывается эта встроенная функция.

Если имя не является ни функцией оболочки, ни встроенной функцией и не содержит слэшей, колотить
ищет каждый элемент PATH для каталога, содержащего исполняемый файл, этим
имя. Колотить использует хеш-таблицу для запоминания полных путей к исполняемым файлам (см. хэш
под SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже). Полный поиск по каталогам в PATH is
выполняется только в том случае, если команда не найдена в хеш-таблице. Если поиск
неудачно, оболочка ищет определенную функцию оболочки с именем
Command_not_found_handle. Если эта функция существует, она вызывается с исходным
команда и аргументы исходной команды в качестве аргументов, а выход функции
status становится статусом выхода оболочки. Если эта функция не определена, оболочка
печатает сообщение об ошибке и возвращает статус выхода 127.

Если поиск успешен или если имя команды содержит одну или несколько косых черт,
оболочка выполняет указанную программу в отдельной среде выполнения. Аргумент 0 установлен
заданному имени, а остальные аргументы команды устанавливаются в аргументы
дано, если есть.

Если это выполнение не удается, потому что файл не в исполняемом формате, и файл не
каталог, предполагается, что это оболочка скрипт, файл, содержащий команды оболочки. А
подоболочка создается для ее выполнения. Эта подоболочка повторно инициализируется, так что эффект
выглядит так, как если бы для обработки сценария была вызвана новая оболочка, за исключением того, что
расположение команд, запоминаемых родителем (см. хэш ниже под SHELL ВСТРОЕННЫЙ
КОМАНДЫ) остаются за ребенком.

Если программа представляет собой файл, начинающийся с #!, оставшаяся часть первой строки определяет
интерпретатор для программы. Оболочка выполняет указанный интерпретатор при работе
системы, которые сами не обрабатывают этот исполняемый формат. Аргументы в пользу
Интерпретатор состоит из одного необязательного аргумента, следующего за именем интерпретатора в
первая строка программы, за которой следует имя программы, за которой следует команда
аргументы, если таковые имеются.

КОМАНДА ИСПОЛНЕНИЕ ОКРУЖАЮЩАЯ СРЕДА


Оболочка имеет выполнение охрана окружающей среды, который состоит из следующего:

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

· Текущий рабочий каталог, установленный cd, Pushdили Popd, или унаследованный
оболочка при вызове

· Маска режима создания файла, установленная Umask или унаследованный от родителя оболочки

· Текущие ловушки, установленные ловушка

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

· Функции оболочки, определенные во время выполнения или унаследованные от родителя оболочки в
окружающая среда

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

· Опции включены купил

· Псевдонимы оболочки, определенные с помощью псевдоним

· Различные идентификаторы процессов, в том числе фоновых заданий, значение $$, и
Значение ППИД

Когда должна выполняться простая команда, отличная от встроенной функции или функции оболочки, это
вызывается в отдельной среде выполнения, которая состоит из следующего. Пока не
в противном случае значения наследуются от оболочки.

· Открытые файлы оболочки, а также любые модификации и дополнения, указанные
перенаправления к команде

· Текущий рабочий каталог

· Маска режима создания файла

· Переменные оболочки и функции, отмеченные для экспорта, а также переменные, экспортируемые для
команда, переданная в среде

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

Команда, запущенная в этой отдельной среде, не может повлиять на выполнение оболочки.
окружающей среды.

Подстановка команд, команды, сгруппированные в круглые скобки, и асинхронные команды
вызывается в среде подоболочки, которая является дубликатом среды оболочки, за исключением
ловушки, пойманные оболочкой, сбрасываются до значений, которые оболочка унаследовала от своего
родитель при вызове. Встроенные команды, которые вызываются как часть конвейера, также
выполняется в подоболочке. Изменения, внесенные в среду подоболочки, не могут
влияют на среду выполнения оболочки.

Субоболочки, созданные для выполнения подстановок команд, наследуют значение -e вариант из
родительская оболочка. Когда не в POSIX Режим, колотить очищает -e вариант в таких подоболочках.

Если за командой следует & и управление заданиями неактивно, стандартный ввод по умолчанию
для команды это пустой файл / DEV / нуль. В противном случае вызванная команда наследует
файловые дескрипторы вызывающей оболочки, измененные перенаправлениями.

ОКРУЖАЮЩАЯ СРЕДА


Когда программа вызывается, ей дается массив строк, называемый охрана окружающей среды. Это
список имя-ценностное пары, в форме имя=ценностное .

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

Среда для любого декриминализовано команду или функция может быть временно расширена
добавив к нему префикса назначения параметров, как описано выше в ПАРАМЕТРЫ, Эти
Операторы присваивания влияют только на среду, видимую этой командой.

Если же линия индикатора -k опция установлена ​​(см. набор встроенная команда ниже), затем Найти параметр
назначения помещаются в среду для команды, а не только те, которые предшествуют
имя команды.

После появления колотить вызывает внешнюю команду, переменная _ устанавливается на полное имя файла
command и передается этой команде в ее окружении.

ВЫХОД статус


Статус выхода выполненной команды - это значение, возвращаемое функцией ожидание системный вызов или
эквивалентная функция. Статусы выхода находятся в диапазоне от 0 до 255, однако, как объясняется ниже,
оболочка может специально использовать значения выше 125. Статусы выхода из встроенных команд оболочки и
составные команды также ограничены этим диапазоном. При определенных обстоятельствах оболочка
будут использовать специальные значения для обозначения конкретных режимов отказа.

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

Если команда не найдена, дочерний процесс, созданный для ее выполнения, возвращает статус
127. Если команда найдена, но не может быть выполнена, возвращается статус 126.

Если команда не выполняется из-за ошибки во время расширения или перенаправления, статус выхода будет
больше нуля.

Встроенные команды оболочки возвращают статус 0 (правда) в случае успеха и ненулевое (ложный) если
при их выполнении возникает ошибка. Все встроенные функции возвращают статус выхода 2, чтобы указать
неправильное использование.

Колотить сам возвращает статус выхода последней выполненной команды, если только синтаксическая ошибка
происходит, и в этом случае он завершается с ненулевым значением. Также выход встроенная команда
внизу.

СИГНАЛЫ


После появления колотить интерактивен, при отсутствии ловушек игнорирует СИГТЕРМ (так что убивать 0
не убивает интерактивную оболочку), и SIGINT ловится и обрабатывается (так что ждать
встроенный прерываемый). В любом случае, колотить игнорируемых ТАК МНОГО. Если контроль работы включен
эффект, колотить игнорируемых СИГТТИН, СИГТТУкачества СИГТСТП.

Не встроенные команды, выполняемые колотить установить обработчики сигналов на значения, унаследованные
оболочка от своего родителя. Когда управление заданиями не действует, асинхронные команды игнорируют
SIGINT и ТАК МНОГО в дополнение к этим унаследованным обработчикам. Команды запускаются в результате
подстановка команд игнорировать генерируемые с клавиатуры сигналы управления заданиями СИГТТИН, СИГТТУ,
и СИГТСТП.

Оболочка завершается по умолчанию при получении ПОДПИСАТЬСЯ. Перед выходом интерактивная оболочка
повторно отправляет ПОДПИСАТЬСЯ ко всем работам, запущенным или остановленным. Остановленные вакансии отправляются СЛЕДУЮЩИЙ в
убедиться, что они получают ПОДПИСАТЬСЯ. Чтобы оболочка не отправляла сигнал на
конкретное задание, его следует удалить из таблицы заданий с отрекаться встроенный (см.
SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже) или отмечены как не принимающие ПОДПИСАТЬСЯ через отрекаться -h.

Если же линия индикатора гупонэкит опция оболочки была установлена ​​с купил, колотить отправляет ПОДПИСАТЬСЯ на все рабочие места
при выходе из интерактивной оболочки входа.

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

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


работа контроль относится к способности выборочно останавливать (приостановить) выполнение процессов
и продолжаем (продолжить) их выполнение позднее. Пользователь обычно использует это
средство через интерактивный интерфейс, предоставляемый совместно с ядром операционной системы
драйвер терминала и колотить.

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

[1] 25647

что указывает на то, что это задание - это задание номер 1 и что идентификатор последнего процесса в
конвейер, связанный с этим заданием, - 25647. Все процессы в одном конвейере
являются членами той же профессии. Колотить использует работа абстракция как основа для контроля работы.

Чтобы облегчить реализацию пользовательского интерфейса для управления заданиями, операционная
система поддерживает понятие текущий терминал процесс группы ID. Члены этого
группа процессов (процессы, идентификатор группы процессов которых совпадает с текущим конечным процессом
идентификатор группы) получают сгенерированные с клавиатуры сигналы, такие как SIGINT. Говорят, что эти процессы
быть в передний план. проверка данных процессы - это те, чей идентификатор группы процессов отличается от
терминала; такие процессы невосприимчивы к сигналам клавиатуры. Только передний план
процессам разрешено читать из или, если пользователь так указывает с помощью stty tostop, писать в
терминал. Фоновые процессы, которые пытаются читать из (писать, когда stty tostop
действует) на терминал отправляется СИГТТИН (СИГТТУ) сигнал терминала ядра
драйвер, который, если его не поймают, приостанавливает процесс.

Если операционная система, на которой колотить работает поддерживает управление заданиями, колотить содержит
возможности для его использования. Набрав приостановить характер (обычно ^Z, Control-Z), а
процесс вызывает остановку этого процесса и возвращает управление колотить. Набор текста
домен задерживается приостановить характер (обычно ^Y, Control-Y) вызывает остановку процесса
когда он пытается прочитать ввод с терминала, и управление должно быть возвращено колотить,
затем пользователь может управлять состоянием этого задания, используя bg команду, чтобы продолжить его в
фон, fg команду, чтобы продолжить ее на переднем плане, или убивать приказ убить
Это. ^Z вступает в силу немедленно и имеет дополнительный побочный эффект, заключающийся в том, что
output и typeahead следует отбросить.

Есть несколько способов сослаться на задание в оболочке. Характер % вводит
спецификация работы (вакансии). Номер вакансии n можно назвать %n. Работа также может быть
упоминается с использованием префикса имени, используемого для его запуска, или с использованием подстроки, которая появляется
в командной строке. Например, % ce относится к остановившемуся ce работа. Если префикс совпадает
более одной работы, колотить сообщает об ошибке. С использованием %? ce, с другой стороны, относится к любому
задание, содержащее строку ce в командной строке. Если подстрока соответствует более чем одному
работа, колотить сообщает об ошибке. Символы %% и %+ относятся к понятию оболочки
текущий работа, которое является последним остановленным заданием, когда оно было на переднем плане или запущено в
фон. В предыдущий работа можно ссылаться с помощью %-. Если есть только один
работа, %+ и %- оба могут использоваться для ссылки на эту работу. В выводе, относящемся к работам (например,
выход работе команда), текущее задание всегда помечается +, и
предыдущая работа с -. Единый% (без сопроводительной спецификации должности) также относится к
текущая работа.

Чтобы вывести задание на передний план, достаточно просто присвоить ему имя: %1 это синоним `` фг
% 1 '', переводя задание 1 из фона на передний план. Так же, `% 1 & '' База резюме
задание 1 в фоновом режиме, что эквивалентно `` БГ % 1 ''.

Оболочка учится немедленно, когда задание меняет состояние. Обычно, колотить ждет пока это
собирается распечатать приглашение перед сообщением об изменениях в статусе задания, чтобы не
прервать любой другой выход. Если -b вариант для набор встроенная команда включена, колотить
немедленно сообщает о таких изменениях. Любая ловушка на СИГЧЛД выполняется для каждого ребенка, который
выходы.

Если попытка выхода колотить выполняется при остановке заданий (или, если чековые вакансии оболочка
опция была включена с помощью купил builtin, running) оболочка выводит предупреждение
сообщение, и, если чековые вакансии опция включена, перечисляет задания и их статусы. В
работе затем можно использовать команду для проверки их статуса. Если вторая попытка выхода будет
сделано без промежуточной команды, оболочка не выводит другое предупреждение и любые
остановленные задания прекращаются.

ПЕРСПЕКТИВЫ


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

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

РЕДЛИН


Это библиотека, которая обрабатывает вводимые данные при использовании интерактивной оболочки, если только
- редактирование опция задается при вызове оболочки. Редактирование строки также используется при использовании
-e вариант для читать встроенный. По умолчанию команды редактирования строки аналогичны командам
из Emacs. Также доступен интерфейс редактирования строк в стиле vi. Редактирование строки может быть
включен в любое время с помощью -o Emacs or -o vi варианты к набор встроенный (см. SHELL
ВСТРОЕННЫЙ КОМАНДЫ ниже). Чтобы отключить редактирование строки после запуска оболочки, используйте +o
Emacs or +o vi варианты к набор встроенный.

Readline Отзывы
В этом разделе для обозначения нажатий клавиш используется нотация в стиле Emacs. Клавиши управления
обозначается C-ключ, например, Cn означает Control-N. Так же, цель ключи обозначаются M-ключ,
так что Mx означает Meta-X. (На клавиатурах без цель ключ, M-x означает ESC x, т. е. нажмите кнопку
Клавиша Escape, затем x ключ. Это делает ESC цель префикс. Комбинация MC-x означает
ESC-Контроль-x, или нажмите клавишу Escape, затем удерживайте клавишу Control, одновременно нажимая x
ключ.)

Команды readline могут быть числовыми Аргументы, которые обычно действуют как счетчик повторов.
Иногда, однако, важен знак аргументации. Прохождение
отрицательный аргумент команды, действующей в прямом направлении (например, линия убийства) причины
эта команда действовать в обратном направлении. Команды, поведение которых с аргументами
отклонения от этого указаны ниже.

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

Readline Инициализация
Строка чтения настраивается путем помещения команд в файл инициализации ( входной rc файл).
Имя этого файла взято из значения параметра ВХОДRC Переменная. Если эта переменная
не задано, по умолчанию ~ / .inputrc. Когда программа, использующая библиотеку readline
запускается, файл инициализации читается, и устанавливаются привязки клавиш и переменные.
В файле инициализации строки чтения разрешены только несколько базовых конструкций. Пустой
строки игнорируются. Строки, начинающиеся с # комментарии. Строки, начинающиеся с $
указать условные конструкции. Остальные строки обозначают привязки клавиш и настройки переменных.

Привязки клавиш по умолчанию могут быть изменены с помощью входной rc файл. Другие программы, использующие
эта библиотека может добавлять свои собственные команды и привязки.

Например, размещение

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

Распознаются следующие символьные имена персонажей: РУБУРЫ, О, ESC, ЛФД, НОВАЯ ЛИНИЯ,
РЭТ, ВЕРНУТЬ, SPC, SPACEкачества TAB.

В дополнение к именам команд, readline позволяет привязать ключи к строке, которая
вставляется при нажатии клавиши (a макрос).

Readline Основные Наручники
Синтаксис для управления привязками клавиш в входной rc файл прост. Все это
Требуется имя команды или текст макроса и последовательность клавиш, к которой он
должен быть связан. Имя может быть указано одним из двух способов: как символическое имя ключа,
возможно с мета- or Контроль- префиксы, или как последовательность клавиш.

При использовании формы имя ключа:имя-функции or макрос, имя ключа это имя ключа по буквам
на английском. Например:

Control-u: универсальный аргумент
Мета-рубут: обратное-убивающее слово
Control-o: "> вывод"

В приведенном выше примере Cu связана с функцией универсальный аргумент, М-ДЕЛ связан с
функции обратное убийственное словокачества Co обязательно запускает макрос, указанный справа
стороны руки (то есть вставить в строку текст ``> output '').

Во второй форме "keyseq":имя-функции or макрос, последовательность ключей отличается от имя ключа выше в
что строки, обозначающие всю последовательность клавиш, могут быть указаны путем размещения последовательности
в двойных кавычках. Можно использовать некоторые escape-последовательности клавиш в стиле GNU Emacs, как показано ниже
пример, но символьные имена символов не распознаются.

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

В этом примере Cu снова привязан к функции универсальный аргумент. Сх Cr связан
к функции перечитать файл инициализациикачества ESC [ 1 1 ~ обязательно вставить текст `` Функция
Ключ 1 ''.

Полный набор управляющих последовательностей в стиле GNU Emacs:
\ C- префикс управления
\ M- мета-префикс
\e escape-символ
\\ обратный слэш
\" буквальный "
\' буквальный

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

При вводе текста макроса необходимо использовать одинарные или двойные кавычки, чтобы указать
определение макроса. Текст без кавычек считается именем функции. В теле макроса
Описанные выше escape-символы обратной косой черты расширяются. Обратная косая черта цитирует любой другой символ
в тексте макроса, включая "и".

Колотить позволяет отображать или изменять текущие привязки клавиш строки чтения с помощью связывать
встроенная команда. Режим редактирования можно переключить во время интерактивного использования с помощью кнопки -o
вариант для набор встроенная команда (см. SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже).

Readline Переменные
В Readline есть переменные, которые можно использовать для дальнейшей настройки его поведения. Переменная может
быть установлен в входной rc файл с выпиской по форме

набор имя-переменной ценностное

Если не указано иное, переменные readline могут принимать значения On or от (без учета
кейс). Нераспознанные имена переменных игнорируются. Когда значение переменной считывается, пустое или
значения NULL, «on» (без учета регистра) и «1» эквивалентны On. Все остальные значения
что эквивалентно от. Переменные и их значения по умолчанию:

колокольчик (Прослушивание)
Управляет тем, что происходит, когда readline хочет позвонить в звонок терминала. Если установлено на
никто, readline никогда не звонит. Если установлено на видимый, в строке чтения используется видимый
звонок, если таковой имеется. Если установлено на слышимый, readline пытается позвонить
звонок терминала.
bind-tty-специальные символы (На)
Если установлено на On, строка чтения пытается связать управляющие символы, специально обработанные
драйвер терминала ядра к их эквивалентам readline.
цветные статистики (Выключенный)
Если установлено на On, строка чтения отображает возможные варианты выполнения разными цветами, чтобы
укажите их тип файла. Определения цвета взяты из значения
LS_COLORS переменная среды.
комментарий-начало (`` # '')
Строка, которая вставляется, когда строка чтения вставить комментарий команда выполняется.
Эта команда привязана к M- # в режиме emacs и в # в командном режиме vi.
завершение-игнорирование-регистр (Выключенный)
Если установлено на On, readline выполняет сопоставление имени файла и завершение в
мода без учета регистра.
длина отображения префикса завершения (0)
Длина в символах общего префикса списка возможных доработок.
отображается без изменений. Когда установлено значение больше нуля,
общие префиксы длиннее этого значения заменяются многоточием, когда
отображение возможных доработок.
элементы запроса завершения (100)
Это определяет, когда пользователя спрашивают о просмотре количества возможных
завершение, произведенное возможные завершения команда. Может быть установлен на любой
целочисленное значение больше или равное нулю. Если количество возможных доработок
больше или равно значению этой переменной, пользователя спрашивают,
или он не желает их просматривать; в противном случае они просто перечислены на терминале.
конвертировать-мета (На)
Если установлено на On, readline преобразует символы с восьмым битом в ASCII
последовательность клавиш, удалив восьмой бит и поставив префикс escape-символа (в
эффект, используя escape как цель префикс).
отключение завершения (Выключенный)
Если установлено на On, строка чтения запрещает завершение слова. Завершающие символы будут
вставлены в строку, как если бы они были сопоставлены с самостоятельная вставка.
режим редактирования (эмакс)
Определяет, начинается ли строка чтения с набора привязок клавиш, аналогичных Emacs or vi.
режим редактирования может быть установлен на Emacs or vi.
эхо-управляющие символы (На)
При установке на On, в операционных системах, которые указывают, что они его поддерживают, отображается эхо строки чтения
символ, соответствующий сигналу, генерируемому с клавиатуры.
включить клавиатуру (Выключенный)
При установке на On, readline попытается включить клавиатуру приложения, когда она
называется. Некоторым системам это необходимо для включения клавиш со стрелками.
включить-мета-ключ (На)
При установке на On, readline попытается включить любой ключ мета-модификатора терминала
заявляет о поддержке при его вызове. На многих терминалах мета-ключ используется для
отправлять восьмибитные символы.
раскрыть тильду (Выключенный)
Если установлено на On, раскрытие тильды выполняется, когда строка чтения пытается завершить слово.
исторический заповедник (Выключенный)
Если установлено на On, код истории пытается поместить точку в одно и то же место на каждом
строка истории получена с помощью предыдущая история or следующая история.
размер истории (0)
Установите максимальное количество записей истории, сохраняемых в списке истории. Если установлено на
ноль, все существующие записи истории удаляются и новые записи не сохраняются. Если
установлено значение меньше нуля, количество записей в истории не ограничено. От
по умолчанию количество записей в истории не ограничено.
режим горизонтальной прокрутки (Выключенный)
При установке на On, заставляет readline использовать одну строку для отображения, прокручивая ввод
горизонтально на одной строке экрана, когда она становится длиннее ширины экрана
вместо переноса на новую строку.
ввод-мета (Выключенный)
Если установлено на On, readline включит восьмибитный ввод (то есть не будет удалять
старший бит из символов, которые он читает), независимо от того, что терминал утверждает
может поддержать. Название мета-флаг является синонимом этой переменной.
isearch-терминаторы (`` C- [CJ '')
Строка символов, которая должна завершить инкрементный поиск без
последующее выполнение символа как команды. Если эта переменная не была
учитывая значение, символы ESC и CJ прекратит инкрементный поиск.
раскладка клавиатуры (эмакс)
Установите текущую раскладку для чтения. Набор допустимых имен раскладки клавиатуры эмакс,
emacs-стандарт, emacs-мета, emacs-ctlx, VI, vi-командакачества vi-вставка. vi is
что эквивалентно vi-команда; Emacs эквивалентна emacs-стандарт. Значение по умолчанию
is Emacs; значение режим редактирования также влияет на раскладку по умолчанию.
keyseq-тайм-аут (500)
Определяет продолжительность Readline будет ждать символа при чтении неоднозначного
последовательность клавиш (та, которая может формировать полную последовательность клавиш, используя ввод, читаемый так
далеко, или может потребоваться дополнительный ввод для завершения более длинной ключевой последовательности). Если нет ввода
получено в течение тайм-аута, Readline будет использовать более короткий, но полный ключ
последовательность. Значение указывается в миллисекундах, поэтому значение 1000 означает, что
Readline будет ждать одну секунду для дополнительного ввода. Если для этой переменной установлено значение
значение меньше или равное нулю или нечисловому значению, Readline будет ждать
пока не будет нажата другая клавиша, чтобы решить, какую последовательность клавиш выполнить.
Марк-каталоги (На)
Если установлено на On, к завершенным именам каталогов добавляется косая черта.
отмечать измененные линии (Выключенный)
Если установлено на On, строки истории, которые были изменены, отображаются с предшествующим
звездочка (*).
Марк-каталоги с символическими ссылками (Выключенный)
Если установлено на On, завершенные имена, которые являются символическими ссылками на каталоги, имеют косую черту
добавлен (в зависимости от значения Марк-каталоги).
спрятанные файлы (На)
Эта переменная, если установлена ​​в On, заставляет readline сопоставлять файлы, имена которых начинаются
с "." (скрытые файлы) при выполнении завершения имени файла. Если установлено на от,
ведущий `. ' должен быть предоставлен пользователем в имени файла для завершения.
меню-полное-отображение-префикс (Выключенный)
Если установлено на On, завершение меню отображает общий префикс списка возможных
завершений (которые могут быть пустыми) перед циклическим просмотром списка.
вывод-мета (Выключенный)
Если установлено на On, в строке чтения будут отображаться символы с восьмым битом, установленным напрямую
а не как escape-последовательность с мета-префиксом.
завершение страниц (На)
Если установлено на On, readline использует внутренний БОЛЕЕ -подобный пейджер для отображения на экране
возможные доработки за раз.
печать-завершений-по горизонтали (Выключенный)
Если установлено на On, в строке чтения будут отображаться завершения с совпадениями, отсортированными по горизонтали в
в алфавитном порядке, а не вниз по экрану.
вернуть все в новую строку (Выключенный)
Если установлено на On, readline отменит все изменения в строках истории перед возвратом, когда
линия приема выполняется. По умолчанию строки истории могут быть изменены и сохранены.
отдельные списки отмены для вызовов Readline.
показать все, если двусмысленно (Выключенный)
Это изменяет поведение функций завершения по умолчанию. Если установлено на On, слова
которые имеют более одного возможного завершения, приводят к тому, что совпадения отображаются в списке
немедленно, вместо того, чтобы звонить в колокольчик.
показать все, если немодифицированный (Выключенный)
Это изменяет поведение функций завершения по умолчанию аналогично
в показать все, если двусмысленно. Если установлено на On, слова, которые имеют более одного возможного
завершение без какого-либо возможного частичного завершения (возможные завершения не
имеют общий префикс) приводят к немедленному отображению совпадений вместо
звонит в колокол.
показать-режим-в-подсказке (Выключенный)
Если установлено на On, добавьте в начало подсказки символ, обозначающий редактирование
режим: emacs (@), команда vi (:) или вставка vi (+).
пропустить-завершенный-текст (Выключенный)
Если установлено на On, это изменяет поведение завершения по умолчанию при вставке одного
совпадать в линию. Он активен только при выполнении завершения в середине
слово. Если включено, readline не вставляет символы из завершения, которое
совпадают символы после точки в завершаемом слове, поэтому части слова
следующие за курсором не дублируются.
видимая статистика (Выключенный)
Если установлено на On, символ, обозначающий тип файла, как сообщает состояние(2) добавляется
к имени файла при перечислении возможных дополнений.

Readline Условный Формирует
Readline реализует средство, схожее по духу с функциями условной компиляции.
препроцессора C, который позволяет выполнять привязки клавиш и настройки переменных как
результат тестов. Используются четыре директивы парсера.

$ если Ассоциация $ если конструкция позволяет делать привязки в зависимости от режима редактирования,
используемый терминал или приложение, использующее строку чтения. Текст теста
простирается до конца строки; для его выделения символы не требуются.

Режим Ассоциация Режим = форма $ если директива используется для проверки, находится ли строка чтения в
emacs или режим vi. Это может использоваться вместе с набор раскладка клавиатуры
команда, например, чтобы установить привязки в emacs-стандарт и emacs-ctlx
раскладки клавиатуры, только если строка чтения запускается в режиме emacs.

срок Ассоциация термин = форма может использоваться для включения привязок клавиш, специфичных для терминала,
возможно, чтобы связать ключевые последовательности, выводимые функциональными клавишами терминала.
Слово в правой части = проверяется на полное имя
терминал и часть имени терминала перед первым -. Это
позволяет солнце чтобы соответствовать обоим солнце и солнце-cmd, Например.

приложению
Ассоциация приложению конструкция используется для включения настроек для конкретного приложения.
Каждая программа, использующая библиотеку readline, устанавливает приложению имяИ
файл инициализации может проверять конкретное значение. Это можно было бы использовать для
привязать последовательности клавиш к функциям, полезным для конкретной программы. За
Например, следующая команда добавляет последовательность клавиш, которая цитирует текущий
или предыдущее слово в колотить:

$ если Колотить
# Процитировать текущее или предыдущее слово
"\ C-xq": "\ eb \" \ ef \ ""
$ endif

$ endif Эта команда, как показано в предыдущем примере, завершает $ если команда.

еще $ Команды в этой ветке $ если директивы выполняются, если тест не пройден.

$ включить
Эта директива принимает в качестве аргумента одно имя файла и читает команды и
привязки из этого файла. Например, следующая директива будет читать
/ etc / inputrc:

$ включить / etc / inputrc

Поиск
Readline предоставляет команды для поиска в истории команд (см. ИСТОРИЯ ниже)
для строк, содержащих указанную строку. Есть два режима поиска: дополнительный и не-
дополнительный.

Пошаговые поиски начинаются до того, как пользователь закончит вводить строку поиска. Поскольку каждый
набирается символ строки поиска, в строке чтения отображается следующая запись из истории
соответствует введенной строке. Для инкрементального поиска требуется ровно столько символов
по мере необходимости, чтобы найти нужную запись в истории. Символы, присутствующие в значении
isearch-терминаторы переменные используются для завершения инкрементного поиска. Если это
переменной не присвоено значение, символы Escape и Control-J завершаются
инкрементный поиск. Control-G прервет инкрементный поиск и восстановит
исходная линия. Когда поиск завершен, запись в истории, содержащая поиск
строка становится текущей строкой.

Чтобы найти другие совпадающие записи в списке истории, введите Control-S или Control-R как
подходящее. Это будет искать в истории вперед или назад следующую запись.
соответствует введенной строке поиска. Любая другая последовательность клавиш, привязанная к строке чтения
команда завершит поиск и выполнит эту команду. Например, новая линия будете
завершить поиск и принять строку, тем самым выполнив команду из истории
.

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

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

Readline Command имен
Ниже приведен список имен команд и последовательностей клавиш по умолчанию для
которые они связаны. Имена команд без сопутствующей последовательности клавиш не связаны
дефолт. В следующих описаниях точка относится к текущей позиции курсора, а
отметка относится к позиции курсора, сохраненной установочная отметка команда. Текст между
точка и отметка называются область.

Команды для Перемещение
начало строки (Ca)
Перейти к началу текущей строки.
конец линии (Ce)
Перейти в конец строки.
форвард (Cf)
Двигайтесь вперед персонажа.
обратный символ (CB)
Вернуть персонажа назад.
форвард-слово (Mf)
Перейти к концу следующего слова. Слова состоят из буквенно-цифровых
символы (буквы и цифры).
обратное слово (Мб)
Вернуться к началу текущего или предыдущего слова. Слова состоят из
буквенно-цифровые символы (буквы и цифры).
оболочка-вперед-слово
Перейти к концу следующего слова. Слова разделяются оболочкой без кавычек
метасимволы.
оболочка-обратное слово
Вернуться к началу текущего или предыдущего слова. Слова разделены
метасимволы оболочки без кавычек.
очисти экран (Cl)
Очистите экран, оставив текущую строку вверху экрана. С
аргумент, обновите текущую строку, не очищая экран.
перерисовать текущую строку
Обновить текущую строку.

Команды для Манипулирование домен История
линия приема (Новая линия, Возвращение)
Подтвердите строку независимо от того, где находится курсор. Если эта строка не пуста, добавьте
его в список истории в соответствии с состоянием ГИСТКОНТРОЛЬ Переменная. Если
строка - это измененная строка истории, затем восстановить исходную строку истории
состоянии.
предыдущая история (Cp)
Извлечь предыдущую команду из списка истории, вернувшись в список.
следующая история (Сп)
Выберите следующую команду из списка истории, двигаясь вперед по списку.
начало истории (М- <)
Перейти на первую строчку истории.
конец истории (M->)
Перейти в конец истории ввода, т. Е. К текущей вводимой строке.
история обратного поиска (Cr)
Искать в обратном направлении, начиная с текущей строки и двигаясь вверх по истории, как
необходимый. Это постепенный поиск.
история поиска вперед (Cs)
Искать вперед, начиная с текущей строки и двигаясь «вниз» по истории
как надо. Это постепенный поиск.
неинкрементный-обратный-поиск-история (Мп)
Обратный поиск в истории, начиная с текущей строки, используя не-
инкрементный поиск строки, предоставленной пользователем.
история поиска без приращения вперед (Mn)
Поиск вперед по истории с использованием неинкрементного поиска строки
предоставляется пользователем.
история поиск вперед
Искать вперед в истории строку символов между началом
текущей строки и точки. Это неинкрементный поиск.
история-поиск-назад
Поиск в истории назад строки символов между началом
текущей строки и точки. Это неинкрементный поиск.
yank-nth-arg (MCy)
Вставьте первый аргумент в предыдущую команду (обычно второе слово в
предыдущая строка) в точке. С аргументом nвставьте nое слово из предыдущего
команда (слова в предыдущей команде начинаются со слова 0). Отрицательный аргумент
вставляет n-ое слово с конца предыдущей команды. Как только аргумент n is
вычисляется, аргумент извлекается, как если бы "!n"расширение истории было
указано.
дернуть-последний-аргумент (М-., М-_)
Вставьте последний аргумент предыдущей команды (последнее слово предыдущей команды).
запись в истории). С числовым аргументом ведите себя точно так же, как yank-nth-arg.
Последовательные звонки на дернуть-последний-аргумент вернуться по списку истории, вставив
последнее слово (или слово, указанное аргументом первого вызова) каждой строки в
повернуть. Любой числовой аргумент, передаваемый этим последовательным вызовам, определяет
направление движения по истории. Отрицательный аргумент меняет направление
по истории (назад или вперед). Используются возможности расширения истории
для извлечения последнего слова, как если бы было указано расширение истории "! $".
линия расширения оболочки (MCe)
Растяните строку, как это делает оболочка. Это выполняет расширение псевдонима и истории как
а также все расширения слов оболочки. Видеть ИСТОРИЯ РАСШИРЕНИЕ ниже для
описание расширения истории.
история-развернуть-строку (М- ^)
Выполнить раскрытие истории в текущей строке. Видеть ИСТОРИЯ РАСШИРЕНИЕ ниже для
описание расширения истории.
волшебное пространство
Выполните раскрытие истории в текущей строке и вставьте пробел. Видеть ИСТОРИЯ
РАСШИРЕНИЕ ниже описание расширения истории.
псевдоним-развернуть-строку
Выполните раскрытие псевдонима в текущей строке. Видеть НИКНЕЙМЫ выше для описания
расширения псевдонима.
история и псевдоним развернуть строку
Выполните раскрытие истории и псевдонима в текущей строке.
вставить последний аргумент (М-., М-_)
Синоним для дернуть-последний-аргумент.
работай и получай дальше (Со)
Принять текущую строку для выполнения и выбрать следующую строку относительно
текущая строка из истории для редактирования. Любой аргумент игнорируется.
редактировать и выполнять команду (С-хС-е)
Вызвать редактор в текущей командной строке и выполнить результат как оболочку
команды. Колотить попытки призвать $ ВИЗУАЛЬНО, РЕДАКТОРкачества Emacs как редактор, в
тот заказ.

Команды для Изменение Текст
конец-файл (Как правило, Компакт диск)
Символ, обозначающий конец файла, установленный, например, как `` stty ''. Если это
символ читается, когда в строке нет символов, а точка находится в
начало строки, Readline интерпретирует его как конец ввода и возвращает EOF.
удалить символ (Компакт диск)
Удалить символ в точке. Если эта функция привязана к тому же символу, что и
терминал EOF характер, как Компакт диск обычно есть, эффекты см. выше.
назад-удалить-символ (Растирание)
Удалите символ за курсором. Если задан числовой аргумент, сохраните
удален текст в списке убийств.
вперед-назад-удалить-символ
Удалите символ под курсором, если курсор не находится в конце строки,
в этом случае удаляется символ за курсором.
цитируемая вставка (Cq, Резюме)
Дословно добавить следующий набранный символ в строку. Вот как вставить
символы как Cq, Например.
вкладка-вставка (Резюме Вкладка)
Вставьте символ табуляции.
самостоятельная вставка (а, b, A, 1, !, ...)
Вставьте набранный символ.
транспонировать символы (Кт)
Перетащите персонажа перед точкой вперед над персонажем в точке, перемещая точку
вперед тоже. Если точка находится в конце строки, тогда два
символы перед точкой. Отрицательные аргументы не действуют.
транспонировать слова (Мт)
Перетащите слово перед точкой за слово после точки, перемещая точку над этим словом
также. Если точка находится в конце строки, последние два слова переставляются на
линия.
заглавное слово (Му)
Текущее (или следующее) слово в верхнем регистре. При отрицательном аргументе заглавные буквы
предыдущее слово, но не перемещать точку.
заглавное слово (Мл)
Текущее (или следующее) слово в нижнем регистре. При отрицательном аргументе нижний регистр
предыдущее слово, но не перемещать точку.
заглавное слово (Mc)
Используйте заглавные буквы в текущем (или последующем) слове. При отрицательном аргументе используйте заглавные буквы
предыдущее слово, но не перемещать точку.
режим перезаписи
Переключить режим перезаписи. С явным положительным числовым аргументом переключается на
режим перезаписи. С явным неположительным числовым аргументом переключается на вставку
режим. Эта команда влияет только на Emacs Режим; vi режим перезаписывает иначе.
Каждый звонок readline () запускается в режиме вставки. В режиме перезаписи символы связаны
в самостоятельная вставка замените текст в точке, а не сдвигайте текст вправо.
Персонажи, привязанные к назад-удалить-символ замените символ перед точкой на
космос. По умолчанию эта команда не привязана.

Убийство и Янкинг
линия убийства (Ск)
Убейте текст от точки до конца строки.
обратная линия убийства (Сх Растирание)
Убейте в обратном направлении до начала строки.
unix-линия-отбросить (Cu)
Убивайте в обратном направлении от точки до начала линии. Убитый текст сохраняется на
кольцо убийства.
убивать целую строку
Убить всех символов в текущей строке, независимо от того, где находится точка.
убийственное слово (Мкр)
Убить от точки до конца текущего слова или, если между словами, до конца
следующее слово. Границы слов такие же, как у форвард-слово.
обратное убийственное слово (М-Рубут)
Убейте слово за точкой. Границы слов такие же, как у
обратное слово.
скорлупа-убийца (Мкр)
Убить от точки до конца текущего слова или, если между словами, до конца
следующее слово. Границы слов такие же, как у оболочка-вперед-слово.
оболочка-назад-слово-убийцы (М-Рубут)
Убейте слово за точкой. Границы слов такие же, как у
оболочка-обратное слово.
unix-word-rubout (Cw)
Убейте слово за точкой, используя пробел в качестве границы слова. Убитый текст
сохраняется на киллер-ринге.
unix-имя-файла-rubout
Убейте слово за точкой, используя в качестве слова пробел и косую черту.
границы. Убитый текст сохраняется в списке уничтожений.
удалить горизонтальное пространство (М- \)
Удалите все пробелы и табуляции вокруг точки.
область уничтожения
Убить текст в текущем регионе.
копировать регион как убить
Скопируйте текст в регионе в буфер уничтожения.
копировать назад-слово
Скопируйте слово перед указателем в буфер уничтожения. Границы слов такие же, как
обратное слово.
копировать вперед-слово
Скопируйте слово, следующее за точкой, в буфер уничтожения. Границы слов такие же
as форвард-слово.
дергать (Сай)
Вставьте верхнюю часть кольца уничтожения в буфер в точке.
янк-поп (Мой)
Поверните кольцо убийства и дерните новую вершину. Работает только после дергать or янк-поп.

Числовой аргументы
цифра-аргумент (М-0, М-1, ..., М-)
Добавьте эту цифру к уже накопленному аргументу или начните новый аргумент. М-
начинает отрицательный аргумент.
универсальный аргумент
Это еще один способ указать аргумент. Если за этой командой следует один или
больше цифр, необязательно со знаком минус в начале, эти цифры определяют
аргумент. Если за командой следуют цифры, выполнение универсальный аргумент снова
заканчивает числовой аргумент, но в противном случае игнорируется. В частном случае, если это
сразу за командой следует символ, который не является ни цифрой, ни минусом
знак, количество аргументов для следующей команды умножается на четыре. Аргумент
count изначально равен единице, поэтому выполнение этой функции в первый раз делает
количество аргументов четыре, второй раз - шестнадцать, и так далее.

Комплектующие
полный (TAB)
Попытка завершить текст перед точкой. Колотить попытки завершения
обработка текста как переменной (если текст начинается с $), имя пользователя (если текст
начинается с ~), имя хоста (если текст начинается с @) или команда (включая псевдонимы
и функции) по очереди. Если ни один из них не дает совпадения, завершение имени файла выполняется
попытался.
возможные завершения (М-?)
Перечислите возможные варианты завершения текста перед точкой.
вставка-завершение (М- *)
Вставьте все дополнения текста перед точкой, которые могли бы быть сгенерированы
возможные завершения.
полное меню
Похожий на что полный, но заменяет слово, которое нужно дополнить, на одно совпадение из
список возможных доработок. Повторное выполнение полное меню шага
через список возможных дополнений, вставляя каждое совпадение по очереди. В конце
списка выполненных работ раздается звонок (при установке колокольчик)
и исходный текст восстанавливается. Аргумент n движется n позиции вперед в
список совпадений; отрицательный аргумент может использоваться для перемещения назад по
список. Эта команда предназначена для привязки к TAB, но по умолчанию не привязан.
меню-полное-назад
Идентично полное меню, но перемещается назад по списку возможных
доработки, как будто полное меню был дан отрицательный аргумент. Эта команда
по умолчанию не привязан.
удалить-символ-или-список
Удаляет символ под курсором, если он не находится в начале или конце строки
(как удалить символ). Если в конце строки ведет себя идентично
возможные завершения. По умолчанию эта команда не привязана.
полное-имя-файла (M- /)
Попытка дополнить имя файла в тексте перед точкой.
возможные дополнения имени файла (Сх /)
Перечислите возможные варианты завершения текста перед точкой, рассматривая его как имя файла.
полное имя пользователя (М- ~)
Попытка дополнить текст перед точкой, рассматривая его как имя пользователя.
возможные дополнения имени пользователя (Сх ~)
Перечислите возможные варианты завершения текста перед точкой, рассматривая это как имя пользователя.
полная переменная (M- $)
Попытка завершения для текста перед точкой, рассматривая его как переменную оболочки.
возможные-переменные-завершения (Сх $)
Перечислите возможные дополнения текста перед точкой, рассматривая его как оболочку
Переменная.
полное имя хоста (M- @)
Попытка дополнить текст перед точкой, рассматривая его как имя хоста.
возможное завершение имени хоста (Сх @)
Перечислите возможные варианты завершения текста перед точкой, рассматривая его как имя хоста.
полная команда (М-!)
Попытка завершить текст перед точкой, рассматривая его как имя команды.
Завершение команды пытается сопоставить текст с псевдонимами, зарезервированными словами,
функции оболочки, встроенные функции оболочки и, наконец, имена исполняемых файлов в указанном порядке.
возможные-завершения-команды (Сх !)
Перечислите возможные варианты завершения текста перед точкой, рассматривая это как команду
имя.
динамическая полная история (М-ТАБ)
Попытаться завершить текст перед точкой, сравнивая текст со строками из
список истории возможных совпадений.
dabbrev-развернуть
Попытка завершить меню на тексте перед точкой, сравнивая текст со строками
из списка истории возможных совпадений.
в фигурных скобках (М- {)
Выполните завершение имени файла и вставьте прилагаемый список возможных дополнений
в фигурных скобках, чтобы список был доступен оболочке (см. распорка расширение выше).

клавиатура Макрос
старт-kbd-макрос (Сх ()
Начните сохранять символы, введенные в текущий макрос клавиатуры.
конец-kbd-macro (Сх ))
Прекратить сохранять символы, введенные в текущий макрос клавиатуры, и сохранить
определение.
вызов-последний-kbd-макрос (Сх e)
Повторно выполнить последний заданный макрос клавиатуры, сделав символы в макросе
выглядят так, как если бы они были набраны на клавиатуре.
печать-последний-kbd-макрос ()
Вывести последний макрос клавиатуры, определенный в формате, подходящем для входной rc .

Прочее
перечитать файл инициализации (Сх Cr)
Прочтите содержание входной rc файл и включать любые привязки или переменные
найденные там задания.
преждевременное прекращение (Cg)
Отменить текущую команду редактирования и позвонить в звонок терминала (при условии
установка колокольчик).
сделать-заглавные-версии (Ма, МБ, M-x, ...)
Если метафизический символ x в нижнем регистре, запустите команду, привязанную к
соответствующий символ верхнего регистра.
префикс-мета (ESC),
Укажите следующий набранный символ. ESC f эквивалентна Мета-ф.
отменить (С-_, Сх Cu)
Пошаговая отмена, запоминающаяся отдельно для каждой строки.
обратная линия (Мистер)
Отменить все изменения, внесенные в эту строку. Это похоже на выполнение отменить достаточно командовать
раз, чтобы вернуть строку в исходное состояние.
тильда-раскрыть (M- &)
Выполнить замену тильды на текущее слово.
установочная отметка (C- @, М- )
Установите отметку в точку. Если указан числовой аргумент, метка устанавливается на
эта позиция.
обменный пункт и марка (Сх Сх)
Поменяйте местами точку с отметкой. Текущая позиция курсора устанавливается на сохраненное
позиция, а старая позиция курсора сохраняется как метка.
поиск персонажей (С-])
Считывается символ, и точка перемещается к следующему вхождению этого символа. А
отрицательное число ищет предыдущие вхождения.
поиск символов назад (MC-])
Считывается символ, и точка перемещается к предыдущему вхождению этого символа.
персонаж. Отрицательный счетчик ищет последующие вхождения.
пропустить-csi-последовательность
Прочтите достаточно символов, чтобы использовать последовательность из нескольких клавиш, например, определенную для
такие клавиши, как Home и End. Такие последовательности начинаются с индикатора последовательности управления.
(CSI), обычно ESC- [. Если эта последовательность привязана к "\ [", ключи, производящие такие
последовательности не будут иметь эффекта, если явно не привязаны к команде readline,
вместо того, чтобы вставлять случайные символы в буфер редактирования. Это не связано
по умолчанию, но обычно привязан к ESC- [.
вставить комментарий (M- #)
Без числового аргумента значение строки чтения комментарий-начало переменная
вставлен в начало текущей строки. Если указан числовой аргумент,
эта команда действует как переключатель: если символы в начале строки
не соответствует значению комментарий-начало, значение вставлено, в противном случае
символов в комментарий-начало удаляются с начала строки. В любом
В этом случае строка принимается, как если бы была введена новая строка. Значение по умолчанию
комментарий-начало заставляет эту команду сделать текущую строку комментарием оболочки. Если
числовой аргумент вызывает удаление символа комментария, строка будет
выполняется оболочкой.
глобус-полное-слово (Мг)
Слово перед точкой рассматривается как образец для раскрытия имени пути с
неявно добавлена ​​звездочка. Этот шаблон используется для создания списка подходящих
имена файлов для возможных дополнений.
глобус-раскрыть-слово (Сх *)
Слово перед точкой рассматривается как образец для раскрытия имени пути, а список
совпадающих имен файлов вставляется вместо слова. Если числовой аргумент
поставлен, звездочка добавляется перед раскрытием имени пути.
глоб-список-расширения (Сх g)
Список расширений, которые были бы созданы глобус-раскрыть-слово is
отображается, и линия перерисовывается. Если указан числовой аргумент, звездочка
добавляется перед раскрытием имени пути.
дамп-функции
Распечатайте все функции и их привязки клавиш к потоку вывода строки чтения.
Если указан числовой аргумент, вывод форматируется таким образом, что
может стать частью входной rc .
дамп-переменные
Вывести все устанавливаемые переменные строки чтения и их значения в строку чтения
выходной поток. Если указан числовой аргумент, вывод форматируется в таком формате.
способ сделать его частью входной rc .
дамп-макросы
Распечатайте все последовательности клавиш строки чтения, связанные с макросами, и строки, которые они
вывод. Если указан числовой аргумент, вывод форматируется таким образом
что его можно сделать частью входной rc .
дисплей-оболочка-версия (Сх Резюме)
Показать информацию о версии текущего экземпляра колотить.

Программируемый Завершение
Когда выполняется попытка завершения слова для аргумента команды, для которой завершение
спецификация (a компспец) был определен с использованием полный встроенный (см. SHELL ВСТРОЕННЫЙ
КОМАНДЫ ниже) вызываются средства программируемого завершения.

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

Как только compspec найден, он используется для создания списка совпадающих слов. Если
compspec не найден, по умолчанию колотить завершение, как описано выше в разделе Комплектующие is
выполнено.

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

Любые завершения, указанные в шаблоне расширения имени пути до -G вариант генерируется
следующий. Слова, сгенерированные шаблоном, не обязательно должны соответствовать завершаемому слову. В
ГЛОБИННОР переменная оболочки не используется для фильтрации совпадений, но ФИГНОРЕ переменная
используемый.

Затем строка, указанная в качестве аргумента для -W вариант рассматривается. Строка
сначала разбить с использованием символов в IFS специальная переменная в качестве разделителей. Цитирование оболочки
почитается. Затем каждое слово раскрывается с использованием фигурных скобок, тильды, параметра.
и расширение переменных, подстановка команд и арифметическое расширение, как описано выше.
под РАСШИРЕНИЕ. Результаты разделяются по правилам, описанным выше в разделе Word
расщепляющий. Результаты раскрытия сравниваются с префиксом слова
завершено, и совпадающие слова становятся возможными завершениями.

После того, как эти совпадения были сгенерированы, любая функция оболочки или команда, указанная с помощью
-F и -C вызывается options. При вызове команды или функции COMP_LINE,
COMP_POINT, КОМП_КЛЮЧкачества COMP_TYPE переменным присваиваются значения, как описано выше в разделе
Оболочка Переменные. Если вызывается функция оболочки, КОМП_СЛОВА и COMP_CWORD
также устанавливаются переменные. Когда вызывается функция или команда, первый аргумент ($1)
это имя команды, аргументы которой завершаются, второй аргумент ($2)
слово завершается, а третий аргумент ($3) - это слово, предшествующее слову
выполняется в текущей командной строке. Нет фильтрации сгенерированных завершений
против завершающегося слова выполняется; функция или команда завершены
свобода создания совпадений.

Любая функция, указанная с помощью -F вызывается первым. Функция может использовать любую оболочку
объекты, в том числе компген встроенный, описанный ниже, для генерации совпадений. Это
должны поместить возможные доработки в СООТВЕТСТВУЕТ переменная массива, по одной на элемент массива.

Затем любая команда, указанная с помощью -C опция вызывается в среде, эквивалентной
подмена команд. Он должен напечатать список завершений, по одному в строке, в
стандартный вывод. При необходимости можно использовать обратную косую черту для перехода от новой строки.

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

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

Если ранее примененные действия не привели к совпадению, и -o имена вариант
был поставлен полный когда compspec был определен, завершение имени каталога
попытался.

Если же линия индикатора -o плюсдиры вариант был поставлен полный когда был определен compspec,
предпринимается попытка завершения имени каталога, и любые совпадения добавляются к результатам
другие действия.

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

Когда compspec указывает, что требуется завершение имени каталога, программируемый
функции завершения заставляют readline добавлять косую черту к завершенным именам, которые
символические ссылки на каталоги, в зависимости от значения Марк-каталоги Readline
переменной, независимо от настройки Марк-каталоги с символическими ссылками переменная readline.

Существует некоторая поддержка динамического изменения завершений. Это наиболее полезно, когда
используется в сочетании с завершением по умолчанию, указанным с помощью полный -D. Возможно
для функций оболочки, выполняемых как обработчики завершения, чтобы указать, что завершение должно быть
повторила попытку, вернув статус выхода 124. Если функция оболочки возвращает 124 и изменяется
compspec, связанный с командой, для которой выполняется попытка завершения (предоставляется
в качестве первого аргумента при выполнении функции), программируемое завершение перезапускается
с самого начала с попыткой найти новую спецификацию для этой команды. Это позволяет
набор завершений, которые будут построены динамически по мере попытки завершения, а не
загружено все сразу.

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

_completion_loader ()
{
. "/etc/bash_completion.d/$ 1.sh "> / dev / null 2> & 1 && return 124
}
полный -D -F _completion_loader -o bashdefault -o по умолчанию

ИСТОРИЯ


Когда -o история вариант для набор встроенная функция включена, оболочка предоставляет доступ к
команду история, список ранее набранных команд. Ценность HISTSIZE
переменная используется как количество команд для сохранения в списке истории. Текст
последний HISTSIZE команд (по умолчанию 500) сохраняется. Оболочка хранит каждую команду в
список истории до раскрытия параметров и переменных (см. РАСШИРЕНИЕ выше) но после
расширение истории выполняется в зависимости от значений переменных оболочки ИСТИНЬОР
и ГИСТКОНТРОЛЬ.

При запуске история инициализируется из файла, названного переменной ИСТФАЙЛ
(дефолт ~ / .bash_history). Файл, названный значением ИСТФАЙЛ усекается, если
необходимо, содержать не более количества строк, заданных значением
HISTFILESIZE. Если HISTFILESIZE не установлено, либо установлено значение null, нечисловое значение или числовое значение
значение меньше нуля, файл истории не усекается. Когда файл истории прочитан,
строки, начинающиеся с символа комментария истории, за которым следует цифра,
интерпретируется как отметка времени для предыдущей строки истории. Эти временные метки необязательно
отображается в зависимости от значения ФОРМАТ ИСТОРИЧЕСКОГО ВРЕМЕНИ Переменная. Когда снаряд с
история включена выходы, последний $ HISTSIZE строки копируются из списка истории в
$ HISTFILE, Если его добавление опция оболочки включена (см. описание купил под
SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже), строки добавляются к файлу истории, в противном случае
файл истории перезаписан. Если ИСТФАЙЛ не задано, или если файл истории недоступен для записи,
история не сохраняется. Если ФОРМАТ ИСТОРИЧЕСКОГО ВРЕМЕНИ переменная установлена, метки времени пишутся
в файл истории, помеченные символом комментария истории, чтобы их можно было сохранить
через сеансы оболочки. Используется символ комментария истории, чтобы различать отметки времени.
из других линий истории. После сохранения истории файл истории усекается до
содержать не более чем HISTFILESIZE линий. Если HISTFILESIZE не задано или установлено в ноль, не-
числовое значение или числовое значение меньше нуля, файл истории не усекается.

Встроенная команда fc (См. SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже) можно использовать для перечисления или редактирования и
повторно выполнить часть списка истории. В история встроенный может использоваться для отображения или
изменять список истории и управлять файлом истории. При использовании редактирования из командной строки
В каждом режиме редактирования доступны команды поиска, обеспечивающие доступ к истории
.

Оболочка позволяет контролировать, какие команды сохраняются в списке истории. В
ГИСТКОНТРОЛЬ и ИСТИНЬОР могут быть установлены переменные, чтобы оболочка сохраняла только подмножество
введенных команд. В cmdhist опция оболочки, если она включена, заставляет оболочку
попытаться сохранить каждую строку многострочной команды в той же записи истории, добавив
точки с запятой там, где это необходимо для сохранения синтаксической правильности. В литолог вариант оболочки
заставляет оболочку сохранять команду со встроенными символами новой строки вместо точек с запятой. Видеть
описание купил встроенный ниже под SHELL ВСТРОЕННЫЙ КОМАНДЫ для информации о
установка и снятие настроек оболочки.

ИСТОРИЯ РАСШИРЕНИЕ


Оболочка поддерживает функцию расширения истории, аналогичную расширению истории в
чш. В этом разделе описаны доступные функции синтаксиса. Эта функция включена
по умолчанию для интерактивных оболочек и может быть отключен с помощью +H вариант для набор
встроенная команда (см. SHELL ВСТРОЕННЫЙ КОМАНДЫ ниже). Неинтерактивные оболочки не работают
расширение истории по умолчанию.

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

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

Некоторые персонажи запрещают расширение истории, если обнаруживаются сразу после истории.
символ раскрытия, даже если он не заключен в кавычки: пробел, табуляция, новая строка, возврат каретки и =.
Если же линия индикатора extglob опция оболочки включена, ( также будет препятствовать расширению.

Несколько параметров оболочки, устанавливаемых с помощью купил Встроенная функция может использоваться для настройки поведения
расширения истории. Если проверить опция оболочки включена (см. описание
домен купил встроенный ниже), и Readline используется, подстановки истории не
сразу передается в синтаксический анализатор оболочки. Вместо этого расширенная строка перезагружается в
Readline буфер редактирования для дальнейшей модификации. Если Readline используется, а
историяправить опция оболочки включена, неудачная подстановка истории будет перезагружена в
домен Readline буфер редактирования для исправления. В -p вариант для история встроенная команда
может использоваться, чтобы увидеть, что будет делать расширение истории, перед его использованием. В -s вариант для
история встроенный может использоваться для добавления команд в конец списка истории без
фактически выполняя их, чтобы они были доступны для последующего вызова.

Оболочка позволяет управлять различными символами, используемыми механизмом расширения истории.
(см. описание гистчарс выше под Оболочка Переменные). Оболочка использует
символ комментария истории для отметки временных меток истории при записи файла истории.

События Условные обозначения
Обозначение события - это ссылка на запись командной строки в списке истории. Пока не
ссылка является абсолютной, события относятся к текущей позиции в истории
.

! Начать замену истории, кроме случаев, когда за ней следует пустой, новая строка, перевозка
return, = или ((когда extglob опция оболочки включается с помощью купил встроенный).
!n Обратитесь к командной строке n.
!-n Обратитесь к текущей команде минус n.
!! Обратитесь к предыдущей команде. Это синоним "! -1".
!string
Обратитесь к самой последней команде, предшествующей текущей позиции в списке истории
начиная с string.
!?string[?]
Обратитесь к самой последней команде, предшествующей текущей позиции в списке истории
содержащие string. В конце ? может быть опущено, если string следует немедленно
новой строкой.
^string1^string2^
Быстрая замена. Повторите предыдущую команду, заменив string1 string2.
Эквивалентно `` !!: s /string1/string2/'' (видеть Модификаторы ниже).
!# На данный момент набрана вся командная строка.

Word Условные обозначения
Обозначения слов используются для выбора желаемых слов из события. А : отделяет событие
спецификация от указателя слова. Его можно опустить, если обозначение слова начинается
с ^, $, *, -или %. Слова нумеруются с начала строки, с
первое слово обозначается 0 (нулем). Слова вставляются в текущую строку с разделением
одиночными пробелами.

0 (нуль)
Нулевое слово. Для оболочки это командное слово.
n Ассоциация nое слово.
^ Первый аргумент. То есть слово 1.
$ Последнее слово. Обычно это последний аргумент, но он расширяется до нуля.
слово, если в строке только одно слово.
% Слово, соответствующее последнему слову `?string? ' поиск.
x-y Диапазон слов; `-y'сокращает `0-y'.
* Все слова, кроме нуля. Это синоним слова `1- $'. Это не ошибка
использовать * если в событии всего одно слово; пустая строка возвращается в
тот случай.
x* Аббревиатуры x- $.
x- Аббревиатуры x- $ такое как x*, но опускает последнее слово.

Если указатель слова указан без указания события, предыдущая команда будет
используется как событие.

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

h Удалите компонент завершающего имени файла, оставив только заголовок.
t Удалите все ведущие компоненты имени файла, оставив хвост.
r Удалите завершающий суффикс формы .xxx, оставив базовое имя.
e Удалите все, кроме конечного суффикса.
p Распечатайте новую команду, но не выполняйте ее.
q Цитируйте замененные слова, избегая дальнейших замен.
x Процитируйте замененные слова как с q, но перебить словами на заготовки и новые строки.
s/старый/new/
Замена new для первого появления старый в строке событий. Любой разделитель
может быть использован вместо /. Последний разделитель не обязателен, если он последний
символ строки события. Разделитель может быть указан в старый и new с
одинарная обратная косая черта. Если & появляется в newзаменяется старый. Одиночная обратная косая черта
процитирую &. Если старый равно нулю, устанавливается в последний старый заменены, или, если нет
произошли подмены предыдущей истории, последние string в !?string[?]
поиск.
& Повторите предыдущую замену.
g Вызывает внесение изменений по всей строке событий. Это используется в
в сочетании с `:s'(например, `: gs /старый/new/') или `:&'. Если используется с `:s', любой
разделитель можно использовать вместо /, а последний разделитель необязателен, если он
последний символ строки события. An a может использоваться как синоним g.
G Примените следующий `s'модификатор один раз для каждого слова в строке события.

SHELL ВСТРОЕННЫЙ КОМАНДЫ


Если не указано иное, каждая встроенная команда, задокументированная в этом разделе как принимающая
варианты, которым предшествует - принимает -- чтобы обозначить конец опций. В :, правда, ложный,
и тестXNUMX встроенные команды не принимают параметры и не обрабатывают -- специально. В выход, Выход,
перерыв, продолжать, позволятькачества сдвиг встроенные команды принимают и обрабатывают аргументы, начинающиеся с -
без необходимости --. Другие встроенные команды, которые принимают аргументы, но не указаны как
варианты принятия интерпретируют аргументы, начинающиеся с - как недопустимые варианты и требуют --
чтобы предотвратить эту интерпретацию.
: [Аргументы]
Нет эффекта; команда ничего не делает, кроме расширения Аргументы и выполнение любых
указанные перенаправления. Возвращается нулевой код выхода.

. имя файла [Аргументы]
источник имя файла [Аргументы]
Читать и выполнять команды из имя файла в текущей среде оболочки и вернуть
статус выхода последней команды, выполненной из имя файла. Если имя файла не
содержат косую черту, имена файлов в PATH используются для поиска каталога, содержащего
имя файла. Файл, который искали в PATH не обязательно быть исполняемым. Когда колотить Не
in POSIX Режим, выполняется поиск в текущем каталоге, если файл не найден в PATH. Если
домен исходный путь вариант для купил встроенная команда отключена, PATH Не
искал. Если есть Аргументы поставляются, они становятся позиционными параметрами
когда имя файла выполняется. В противном случае позиционные параметры не изменяются. В
статус возврата - это статус последней команды, выполненной в рамках сценария (0, если нет
команды выполняются) и false, если имя файла не найден или не может быть прочитан.

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

bg [вакансии ...]
Возобновить каждую приостановленную работу вакансии в фоновом режиме, как если бы он был запущен с
&. Если вакансии отсутствует, понятие оболочки текущий работа используется. bg
вакансии возвращает 0, если не запускается при отключенном управлении заданием или при запуске с заданием
управление включено, любое указанное вакансии не был найден или был запущен без работы
контролировать.

связывать [-m раскладка клавиатуры] [-lpsvPSVX]
связывать [-m раскладка клавиатуры] [-q функция] [-u функция] [-r последовательность ключей]
связывать [-m раскладка клавиатуры] -f имя файла
связывать [-m раскладка клавиатуры] -x последовательность ключей:оболочка-команда
связывать [-m раскладка клавиатуры] последовательность ключей:имя-функции
связывать readline-команда
Отображение тока Readline привязки клавиш и функций, привязать последовательность клавиш к
Readline функцию или макрос, или установите Readline Переменная. Каждый неопциональный аргумент
это команда в том виде, в котором она отображается в .inputrc, но каждая привязка или команда должны быть
передается как отдельный аргумент; например, '"\ Cx \ Cr": перечитать-инициализировать-файл'. Опции, если
поставляются, имеют следующие значения:
-m раскладка клавиатуры
Используйте раскладка клавиатуры в качестве раскладки клавиатуры, на которую будут воздействовать последующие привязки.
Приемлемо раскладка клавиатуры имена эмакс, emacs-стандарт, emacs-мета, emacs-ctlx,
VI, vi-ход, vi-командакачества vi-вставка. vi эквивалентна vi-команда;
Emacs эквивалентна emacs-стандарт.
-l Перечислите имена всех Readline функции.
-p Дисплей Readline имена функций и привязки таким образом, чтобы их можно было
перечитай.
-P Перечислить текущие Readline имена функций и привязки.
-s Дисплей Readline ключевые последовательности, привязанные к макросам, и строки, которые они выводят
таким образом, чтобы их можно было перечитать.
-S Дисплей Readline ключевые последовательности, связанные с макросами, и строки, которые они выводят.
-v Дисплей Readline имена и значения переменных таким образом, чтобы их можно было
перечитай.
-V Перечислить текущие Readline имена и значения переменных.
-f имя файла
Прочитать привязки клавиш из имя файла.
-q функция
Запрос о том, какие ключи вызывают названный функция.
-u функция
Отвязать все ключи, привязанные к названному функция.
-r последовательность ключей
Удалите любую текущую привязку для последовательность ключей.
-x последовательность ключей:оболочка-команда
Вызывать оболочка-команда быть выполненным всякий раз, когда последовательность ключей введен. Когда
оболочка-команда выполняется, оболочка устанавливает READLINE_LINE переменная в
содержание Readline строковый буфер и READLINE_POINT переменная в
текущее положение точки вставки. Если выполненная команда изменится
Значение READLINE_LINE or READLINE_POINT, эти новые значения будут
отражается в состоянии редактирования.
-X Перечислите все последовательности клавиш, привязанные к командам оболочки и связанным командам
в формате, который можно повторно использовать в качестве входных.

Возвращаемое значение - 0, если не задан нераспознанный параметр или не произошла ошибка.

перерыв [n]
Выход изнутри для, в то время как, доили выберите петля. Если n указано, перерыв n
уровнях. n должно быть ≥ 1. Если n больше, чем количество замыкающих петель, все
замыкающие петли выходят. Возвращаемое значение - 0, если только n не больше или
равно 1.

встроенная встроенный в оболочку [Аргументы]
Выполнить указанную встроенную оболочку, передав ее Аргументы, и верните его выход
статус. Это полезно при определении функции, имя которой совпадает с именем оболочки.
builtin, сохраняя функциональность встроенной функции. В cd
builtin обычно переопределяется таким образом. Статус возврата - ложь, если
встроенный в оболочку не является встроенной командой оболочки.

гость [выраж]
Возвращает контекст любого активного вызова подпрограммы (функции оболочки или сценария).
выполнен с . or источник встроенные). Без выраж, гость отображает строку
номер и исходное имя текущего вызова подпрограммы. Если неотрицательный
целое число предоставляется как выраж, гость отображает номер строки, имя подпрограммы и
исходный файл, соответствующий этой позиции в текущем стеке вызовов выполнения.
Эта дополнительная информация может использоваться, например, для печати трассировки стека. В
текущий кадр равен 0. Возвращаемое значение - 0, если оболочка не выполняется.
вызов подпрограммы или выраж не соответствует действительной позиции в звонке
стек.

cd [-L|[-P [-e]] [- @]] [директория]
Измените текущий каталог на директория. если директория не предоставляется, значение ГЛАВНАЯ
Переменная оболочки - это значение по умолчанию. Любые дополнительные аргументы после директория игнорируются.
Переменная CDPATH определяет путь поиска для каталога, содержащего директория: каждый
имя каталога в CDPATH ищется директория. Альтернативные имена каталогов в
CDPATH разделены двоеточием (:). Нулевое имя каталога в CDPATH та же
как текущий каталог, т.е..''. Если директория начинается с косой черты (/), затем CDPATH
не используется. В -P Вариант причины cd использовать физическую структуру каталогов
разрешение символических ссылок при обходе директория и перед обработкой экземпляров ..
in директория (см. также -P вариант для набор встроенная команда); в -L опционные силы
символические ссылки, по которым следует разрешать ссылку после обработки экземпляров
.. in директория. Если .. появляется в директория, он обрабатывается путем немедленного удаления
предыдущий компонент имени пути из директория, обратно на косую черту или в начало директория. Если
домен -e опция поставляется с -P, и текущий рабочий каталог не может быть
успешно определен после успешного изменения каталога, cd вернет
неудачный статус. В системах, которые его поддерживают, -@ вариант представляет
расширенные атрибуты, связанные с файлом как каталогом. Аргумент - is
конвертировано в $ OLDPWD перед попыткой смены каталога. Если непустой
имя каталога из CDPATH используется, или если - это первый аргумент, а
изменение каталога прошло успешно, абсолютный путь к новому рабочему каталогу
записывается на стандартный вывод. Возвращаемое значение истинно, если каталог был
успешно изменен; в противном случае - ложь.

команду [-pVv] команду [аргумент ...]
Run команду арг подавление обычного поиска функции оболочки. Только встроенный
команды или команды, найденные в PATH выполнены. Если -p предоставляется вариант,
поиск команду выполняется с использованием значения по умолчанию для PATH то есть
Гарантированно найдете все стандартные утилиты. Если либо -V or -v опция
прилагается, описание команду печатается. В -v опция вызывает одно слово
с указанием команды или имени файла, используемых для вызова команду быть отображенным; в -V
опция дает более подробное описание. Если -V or -v опция поставляется,
статус выхода равен 0, если команду был найден, и 1, если нет. Если ни один из вариантов не
поставлен и произошла ошибка или команду не может быть найден, статус выхода 127.
В противном случае статус выхода команду builtin - это статус выхода команду.

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

Соответствия будут сгенерированы так же, как если бы программируемое завершение
код сгенерировал их непосредственно из спецификации завершения с тем же
флаги. Если слово указано, только те завершения, которые соответствуют слово будет
отображается.

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

полный [-abcdefgjksuv] [-o комп-вариант] [-DE] [-A действие] [-G глобпат] [-W список слов] [-F
функция] [-C команду]
[-X фильтрующий слой] [-P префикс] [-S суффикс] имя [имя ...]
полный -пр [-DE] [имя ...]
Укажите, как аргументы для каждого имя должен быть завершен. Если -p опция
поставляются, или, если не поставляются никакие опции, существующие спецификации заканчивания
напечатаны таким образом, чтобы их можно было повторно использовать в качестве входных. В -r вариант удаляет
спецификация завершения для каждого имя, или, если нет имяпоставляются, все
спецификации завершения. В -D option указывает, что остальные параметры и
действия должны применяться к завершению команды по умолчанию; то есть завершение
предпринята попытка выполнения команды, для которой ранее не было определено завершение. В -E
option указывает, что остальные параметры и действия должны применяться к `` пустому ''
завершение команды; то есть попытка завершения на пустой строке.

Процесс применения этих спецификаций завершения, когда завершение слова
попытка описана выше в разделе Программируемый Завершение.

Другие параметры, если они указаны, имеют следующие значения. Аргументы в пользу -G,
-Wкачества -X варианты (и, при необходимости, -P и -S options) следует указывать на
защитить их от расширения до полный Вызывается встроенный.
-o комп-вариант
Ассоциация комп-вариант контролирует несколько аспектов поведения compspec за пределами
простая генерация доработок. комп-вариант может быть одним из:
bashdefault
Остальное выполнить по умолчанию колотить завершает, если compspec
не генерирует совпадений.
по умолчанию Используйте завершение имени файла по умолчанию в readline, если compspec
не генерирует совпадений.
имена
Выполните завершение имени каталога, если compspec не генерирует
Матчи.
имена файлов
Сообщите readline, что compspec генерирует имена файлов, поэтому он может
выполнять любую обработку, зависящую от имени файла (например, добавление косой черты к
имена каталогов, использование специальных символов в кавычках или подавление
конечные пробелы). Предназначен для использования с функциями оболочки.
не цитировать Скажите readline не цитировать завершенные слова, если они
имена файлов (по умолчанию имена файлов заключаются в кавычки).
нет места Скажите readline не добавлять пробел (по умолчанию) к словам
завершено в конце строки.
плюсдиры
После создания любых совпадений, определенных спецификацией compspec, каталог
предпринимается попытка завершения имени, и любые совпадения добавляются к
результаты других действий.
-A действие
Ассоциация действие может быть одним из следующих, чтобы создать список возможных
доработки:
псевдоним Псевдонимы. Также может быть указано как -a.
массиввар
Имена переменных массива.
переплет Readline имена привязки клавиш.
встроенная Имена встроенных команд оболочки. Также может быть указано как -b.
команду Имена команд. Также может быть указано как -c.
каталог
Имена каталогов. Также может быть указано как -d.
инвалид
Имена отключенных встроенных команд оболочки.
включен Имена включенных встроенных команд оболочки.
экспорт Имена экспортируемых переменных оболочки. Также может быть указано как -e.
файл Имена файлов. Также может быть указано как -f.
функция
Имена функций оболочки.
группы Имена групп. Также может быть указано как -g.
хелптоп
Разделы справки, принятые помощь встроенный.
хоста
Имена хостов, взятые из файла, указанного ХОСТФАЙЛ оболочка
Переменная.
работа Имена заданий, если активен контроль заданий. Также может быть указано как -j.
ключевое слово Зарезервированные слова Shell. Также может быть указано как -k.
Бег Имена запущенных заданий, если активен контроль заданий.
обслуживание Названия сервисов. Также может быть указано как -s.
Setopt Веские аргументы в пользу -o вариант для набор встроенный.
купил Имена параметров оболочки, принятые купил встроенный.
сигнал Имена сигналов.
остановившийся Имена остановленных заданий, если активен контроль заданий.
пользователь Имена пользователей. Также может быть указано как -u.
переменная
Имена всех переменных оболочки. Также может быть указано как -v.
-C команду
команду выполняется в среде подоболочки, и его вывод используется как
возможные доработки.
-F функция
Функция оболочки функция выполняется в текущей среде оболочки.
Когда функция выполняется, первый аргумент ($1) - это имя
команда, аргументы которой завершаются, второй аргумент ($2) является
слово завершается, а третий аргумент ($3) - это слово, предшествующее
слово, завершающееся в текущей командной строке. Когда он закончится,
возможные завершения извлекаются из значения СООТВЕТСТВУЕТ
переменная массива.
-G глобпат
Шаблон раскрытия имени пути глобпат расширяется, чтобы генерировать возможные
доработки.
-P префикс
префикс добавляется в начале каждого возможного завершения после всех
были применены другие варианты.
-S суффикс
суффикс добавляется к каждому возможному завершению после того, как все остальные варианты
был применен.
-W список слов
Ассоциация список слов разбивается с использованием символов в IFS специальная переменная как
разделители, и каждое результирующее слово раскрывается. Возможные доработки
являются членами результирующего списка, которые соответствуют завершаемому слову.
-X фильтрующий слой
фильтрующий слой - это шаблон, используемый для раскрытия имени пути. Применяется к
список возможных завершений, созданный предыдущими опциями и
аргументы, и каждое завершение соответствует фильтрующий слой удаляется из списка.
Ведущий ! in фильтрующий слой сводит на нет узор; в этом случае любое завершение
не соответствует фильтрующий слой удален.

Возвращаемое значение истинно, если не предоставлена ​​недопустимая опция, кроме опции
-p or -r поставляется без имя аргумент, предпринимается попытка удалить
спецификация завершения для имя для которых не существует спецификации или ошибка
происходит добавление спецификации завершения.

составить [-o вариант] [-DE] [+o вариант] [имя]
Измените параметры завершения для каждого имя в соответствии с вариантs, или для
выполняющееся в настоящее время завершение, если нет имяпоставляются. Если нет вариантs даны,
отображать варианты завершения для каждого имя или текущее завершение. В
возможные значения вариант действительны для полный встроенный, описанный выше.
Ассоциация -D параметр указывает, что остальные параметры должны применяться к `` по умолчанию ''
завершение команды; то есть попытка завершения для команды, для которой нет
завершение было определено ранее. В -E опция указывает, что оставшиеся
параметры должны применяться к `` пустому '' завершению команды; то есть попытка завершения
на пустой строке.

Возвращаемое значение истинно, если не указана недопустимая опция, делается попытка
изменить параметры для имя для которых не существует спецификации завершения, или
возникает ошибка вывода.

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

объявлять [-aAfFgilnrtux] [-p] [имя[=ценностное ] ...]
набрана [-aAfFgilnrtux] [-p] [имя[=ценностное ] ...]
Объявите переменные и / или присвойте им атрибуты. Если нет имяданы, затем отобразить
значения переменных. В -p опция отобразит атрибуты и значения
каждый имя. Когда -p используется с имя аргументы, дополнительные параметры, кроме -f
и -F, игнорируются. Когда -p поставляется без имя аргументы, он будет отображать
атрибуты и значения всех переменных, имеющих атрибуты, указанные в
дополнительные опции. Если другие опции не поставляются с -p, объявлять будет отображать
атрибуты и значения всех переменных оболочки. В -f опция ограничит
отображение в функции оболочки. В -F опция запрещает отображение функции
определения; печатаются только имя функции и атрибуты. Если экстдебаг
опция оболочки включается с помощью купил, имя исходного файла и номер строки, где
функция определена. В -F вариант подразумевает -f, -g
опция заставляет переменные создаваться или изменяться в глобальной области видимости, даже если
объявлять выполняется в функции оболочки. Во всех остальных случаях он игнорируется. В
следующие параметры могут использоваться для ограничения вывода на переменные с указанными
атрибут или присвоить переменным атрибуты:
-a Каждый имя переменная индексированного массива (см. Массивы выше).
-A Каждый имя - переменная ассоциативного массива (см. Массивы выше).
-f Используйте только имена функций.
-i Переменная рассматривается как целое число; арифметическая оценка (см. АРИФМЕТИЧЕСКИЙ
ОЦЕНКА выше) выполняется, когда переменной присваивается значение.
-l Когда переменной присваивается значение, все символы верхнего регистра
преобразован в нижний регистр. Атрибут верхнего регистра отключен.
-n Дать каждому имя домен ссылка на имя атрибут, сделав его ссылкой на имя другого
Переменная. Эта другая переменная определяется значением имя. Все
ссылки и отсылки к имя, за исключением изменения -n атрибут
сам по себе, выполняются с переменной, на которую ссылается имязначение. В -n
Атрибут нельзя применить к переменным массива.
-r MAKE имятолько для чтения. Этим именам нельзя присвоить значения
последующие операторы присваивания или не заданы.
-t Дать каждому имя домен прослеживать атрибут. Трассируемые функции наследуют ОТЛАЖИВАТЬ и
ВЕРНУТЬ ловушки из вызывающей оболочки. Атрибут трассировки не имеет специального
значение для переменных.
-u Когда переменной присваивается значение, все символы нижнего регистра
преобразован в верхний регистр. Атрибут нижнего регистра отключен.
-x Отметьте имяs для экспорта в последующие команды через среду.

Использование символа «+» вместо «-» вместо этого отключает атрибут, за исключением
+a не может использоваться для уничтожения переменной массива и +r не удалит только чтение
атрибут. При использовании в функции объявлять и набрана сделать каждый имя местный, как
с локальным команда, если -g опция поставляется. Если имя переменной
за которым следует =ценностное , значение переменной устанавливается на ценностное , Когда используешь -a or -A
и синтаксис составного присваивания для создания переменных массива, дополнительных атрибутов
не вступают в силу до последующих назначений. Возвращаемое значение - 0, если
обнаружена недопустимая опция, делается попытка определить функцию с помощью `` -f
foo = bar '', делается попытка присвоить значение переменной только для чтения, попытка
предназначен для присвоения значения переменной массива без использования составного
синтаксис присваивания (см. Массивы выше), один из имена не является допустимой оболочкой
имя переменной, сделана попытка отключить статус только для чтения для
переменной, делается попытка отключить состояние массива для переменной массива или
сделана попытка отобразить несуществующую функцию с -f.

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

Возвращаемое значение - 0, если не указан недопустимый параметр или n индексы за пределами
конец стека каталогов.

отрекаться [-ar] [-h] [вакансии ...]
Без опций удалите каждую вакансии из таблицы активных вакансий. Если вакансии is
нет, и ни -a ни -r опция поставляется, текущий работа is
использовал. Если -h дается вариант, каждый вакансии не снимается со стола, но
отмечен так, что ПОДПИСАТЬСЯ не отправляется в задание, если оболочка получает ПОДПИСАТЬСЯ. Если
нет вакансии поставляется, -a опция означает удаление или отметку всех вакансий; в -r
вариант без вакансии Аргумент ограничивает операцию выполняемыми заданиями. Возврат
значение равно 0, если вакансии не указывает действительную работу.

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

включить [-a] [-dnps] [-f имя файла] [имя ...]
Включение и отключение встроенных команд оболочки. Отключение встроенного позволяет диск
команда, имеющая то же имя, что и встроенная оболочка, должна выполняться без
указание полного имени пути, даже если оболочка обычно ищет встроенные команды
перед дисковыми командами. Если -n используется, каждый имя выключен; в противном случае, имена Он
включено. Например, чтобы использовать тестXNUMX двоичный файл, найденный через PATH вместо
встроенную версию оболочки, запустите `` enable -n test ''. В -f опция означает загрузку нового
встроенная команда имя из общего объекта имя файла, в системах, поддерживающих динамические
загрузка. В -d опция удалит встроенную, ранее загруженную с -f. Если нет
имя приводятся аргументы, или если -p опция, список встроенных команд оболочки
печатается. Без других аргументов опции список состоит из всех включенных командных интерпретаторов.
встроенные. Если -n поставляется, печатаются только отключенные встроенные функции. Если -a is
прилагается, напечатанный список включает все встроенные функции с указанием того,
не каждый включен. Если -s поставляется, вывод ограничен POSIX
особый встроенные. Возвращаемое значение - 0, если имя не является встроенной оболочкой или
произошла ошибка при загрузке новой встроенной функции из общего объекта.

Eval [аргумент ...]
Ассоциация аргументs считываются и объединяются в одну команду. Эта команда
затем читается и выполняется оболочкой, и его статус выхода возвращается как значение
of Eval, Если нет арг, или только нулевые аргументы, Eval возвращает 0.

Exec [-кл] [-a имя] [команду [Аргументы]]
If команду указан, он заменяет оболочку. Новый процесс не создается. В
Аргументы стать аргументом команду, Если -l опция поставляется, оболочка
ставит тире в начале нулевого аргумента, переданного в команду. Это
почему Войти(1) делает. В -c Вариант причины команду быть выполненным с пустым
среда. Если -a поставляется, снаряд проходит имя как нулевой аргумент
выполненная команда. Если команду не может быть выполнен по какой-то причине, не
интерактивная оболочка завершается, если execfail опция оболочки включена. В этом
случае, возвращается отказ. Интерактивная оболочка возвращает ошибку, если файл не может
быть казненным. Если команду не указан, любые перенаправления вступают в силу в
текущая оболочка, а статус возврата - 0. Если есть ошибка перенаправления,
статус возврата - 1.

выход [n]
Заставить оболочку выйти со статусом n. Если n опущен, статус выхода
последняя выполненная команда. Ловушка на ВЫХОД выполняется перед оболочкой
прекращается.

экспорт [-фн] [имя[=слово]] ...
экспорт -p
Поставляемый имена помечены для автоматического экспорта в среду
впоследствии выполняемые команды. Если -f дается вариант, имена см.
функции. Если нет имена даны, или если -p опция поставляется, список имен
всех экспортируемых переменных печатается. В -n опция приводит к тому, что свойство экспорта становится
быть удаленным из каждого имя. Если после имени переменной стоит =слово, значение
переменная установлена ​​на слово. экспорт возвращает статус выхода 0, если недопустимый
встречается вариант, один из имена не является допустимым именем переменной оболочки, или -f
поставляется с имя это не функция.

fc [-e эмаль] [-лнр] [первый] [последний]
fc -s [похлопывание=репутация] [CMD]
Первая форма выбирает ряд команд из первый в последний из списка истории
и отображает или редактирует и повторно выполняет их. First и последний может быть определен как
строка (чтобы найти последнюю команду, начинающуюся с этой строки) или в виде числа (
index в список истории, где отрицательное число используется как смещение от
текущий номер команды). Если последний не указан, он установлен в текущую команду
для листинга (так что `` fc -l -10 '' печатает последние 10 команд) и для первый
в противном случае. Если первый не указано, устанавливается на предыдущую команду для редактирования
и -16 для листинга.

Ассоциация -n опция подавляет номера команд при перечислении. В -r вариант реверсируется
порядок команд. Если -l задана опция, команды перечислены на
стандартный вывод. В противном случае редактор, предоставленный эмаль вызывается в файле
содержащие эти команды. Если эмаль не приводится, значение ФКЕДИТ переменная
используется, а значение РЕДАКТОР if ФКЕДИТ не установлен. Если ни одна переменная не установлена,
vi используется. Когда редактирование завершено, отредактированные команды выводятся на экран и выполняются.

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

Если используется первая форма, возвращаемое значение равно 0, если не указан недопустимый параметр.
столкнулся или первый or последний указать строки истории вне допустимого диапазона. Если -e вариант
предоставляется, возвращаемое значение - это значение последней выполненной или неудачной команды.
если произошла ошибка с временным файлом команд. Если вторая форма
используется статус возврата - это статус повторно выполненной команды, если только CMD не
укажите действительную строку истории, и в этом случае fc возвращает отказ.

fg [вакансии]
Продолжить вакансии на переднем плане и сделайте его текущим заданием. Если вакансии Не
в настоящее время понятие оболочки текущий работа используется. Возвращаемое значение:
команды, помещенной на передний план, или сбой, если выполняется, когда управление заданием
отключено или, при запуске с включенным управлением заданиями, если вакансии не указывает действительный
работа или вакансии указывает задание, которое было запущено без управления заданием.

Getopts строка опций имя [арг]
Getopts используется процедурами оболочки для анализа позиционных параметров. строка опций
содержит опциональные символы, которые необходимо распознать; если за символом следует
двоеточие, опция должна иметь аргумент, который должен быть отделен от
это пробел. Знаки двоеточия и вопросительного знака нельзя использовать в качестве
варианты символов. Каждый раз, когда он вызывается, Getopts помещает следующий вариант в
переменная оболочки имя, инициализация имя если он не существует, и индекс
следующий аргумент для обработки в переменной ОПТИНОВАТЬ. ОПТИНОВАТЬ инициализируется 1
каждый раз при вызове оболочки или сценария оболочки. Когда вариант требует
аргумент, Getopts помещает этот аргумент в переменную ОПТАРГ. Оболочка делает
не сбросить ОПТИНОВАТЬ автоматически; он должен быть сброшен вручную между несколькими вызовами
Getopts в том же вызове оболочки, если должен использоваться новый набор параметров.

Когда встречается конец вариантов, Getopts выходит с возвращаемым значением больше
чем ноль. ОПТИНОВАТЬ устанавливается на индекс первого аргумента, не являющегося опцией, и имя
установлен на?.

Getopts обычно анализирует позиционные параметры, но если указано больше аргументов
in арг, Getopts вместо этого анализирует их.

Getopts может сообщать об ошибках двумя способами. Если первый символ строка опций - это
двоеточие, тихий используется отчет об ошибках. При нормальной работе диагностические сообщения
печатаются при обнаружении недопустимых опций или отсутствующих аргументов опций. Если
переменная ОПТЕРР установлен на 0, сообщения об ошибках отображаться не будут, даже если
первый персонаж строка опций это не двоеточие.

Если замечен недопустимый вариант, Getopts места? в имя и если не молчать, то печатает
сообщение об ошибке и сбрасывает ОПТАРГ. Если Getopts молчит, опция символа
найдено находится в ОПТАРГ и диагностическое сообщение не выводится.

Если обязательный аргумент не найден, и Getopts не молчит, вопросительный знак (?)
находится в имя, ОПТАРГ не установлен, и выводится диагностическое сообщение. Если
Getopts молчит, то двоеточие (:) помещается в имя и ОПТАРГ устанавливается в
найден символ опции.

Getopts возвращает истину, если опция, указанная или неуказанная, найдена. Он возвращается
false, если встречается конец параметров или возникает ошибка.

хэш [-лр] [-p имя файла] [-дт] [имя]
Каждый раз хэш вызывается, полный путь к команде имя определяется
поиск каталогов в $ PATH и вспомнил. Любые ранее запомненные
путь отбрасывается. Если -p опция, поиск пути не выполняется,
и имя файла используется как полное имя файла команды. В -r вариант вызывает
оболочка, чтобы забыть все запомненные местоположения. В -d опция заставляет оболочку забыть
запомненное местоположение каждого имя, Если -t опция поставляется, полная
путь к которому каждый имя соответствует напечатано. Если несколько имя аргументы
снабжен чем то -t, имя печатается перед хешированным полным именем пути. В -l
опция заставляет вывод отображаться в формате, который может быть повторно использован в качестве ввода. Если
аргументов не приводится, или если только -l поставляется, информация о запомненных
команды напечатаны. Статус возврата верен, если имя не найден или
предоставляется недопустимая опция.

помощь [-дмс] [описания]
Отображение полезной информации о встроенных командах. Если описания указано, помощь
дает подробную справку по всем совпадающим командам описания; в противном случае помогите всем
Напечатаны встроенные элементы и управляющие структуры оболочки.
-d Показать краткое описание каждого описания
-m Показать описание каждого описания в формате, похожем на страницу руководства
-s Отображать только краткое описание использования каждого описания

Статус возврата равен 0, если ни одна из команд не совпадает. описания.

история [n]
история -c
история -d смещение
история -anrw [имя файла]
история -p аргумент [аргумент ...]
история -s аргумент [аргумент ...]
Без параметров отобразить список истории команд с номерами строк. Перечисленные строки
с * были изменены. Аргумент n перечисляет только последние n линии. Если
переменная оболочки ФОРМАТ ИСТОРИЧЕСКОГО ВРЕМЕНИ установлен и не равен нулю, он используется как строка формата
для стрфтайм(3) для отображения отметки времени, связанной с каждой отображаемой историей
Вход. Между отформатированной меткой времени и меткой времени не печатается промежуточный пробел.
линия истории. Если имя файла предоставляется, используется как имя файла истории;
в противном случае стоимость ИСТФАЙЛ используется. Опции, если таковые имеются, имеют следующие
значения:
-c Очистите список истории, удалив все записи.
-d смещение
Удалить запись в истории на позиции смещение.
-a Добавьте `` новые '' строки истории (строки истории, введенные с начала
текущего колотить session) в файл истории.
-n Прочтите строки истории, которые еще не прочитаны из файла истории, в
текущий список истории. Это строки, добавленные к файлу истории, поскольку
начало текущего колотить сессия.
-r Прочтите содержимое файла истории и добавьте их в текущую историю
.
-w Записать текущий список истории в файл истории, перезаписав историю
содержимое файла.
-p Выполните замену истории для следующих арг и отобразить результат на
стандартный вывод. Не сохраняет результаты в списке истории. Каждый
аргумент должен быть заключен в кавычки, чтобы отключить нормальное расширение истории.
-s Хранить арг в списке истории как одна запись. Последняя команда в
список истории удаляется перед арг добавлены.

Если же линия индикатора ФОРМАТ ИСТОРИЧЕСКОГО ВРЕМЕНИ установлена ​​переменная, информация о отметке времени, связанная с
каждая запись истории записывается в файл истории, отмеченный комментарием истории
персонаж. При чтении файла истории строки, начинающиеся с комментария истории
символ, за которым следует цифра, интерпретируются как отметки времени для
предыдущая строка истории. Возвращаемое значение - 0, если не указан недопустимый параметр.
возникла ошибка при чтении или записи файла истории, недопустимый
смещение предоставляется в качестве аргумента для -d, или расширение истории, представленное как
аргумент -p не удается.

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

If вакансии дана, вывод ограничен информацией об этой работе. В
статус возврата равен 0, если не встречается недопустимая опция или недопустимый вакансии is
в комплект поставки.

Если же линия индикатора -x опция поставляется, работе заменяет любой вакансии найти в команду or арг
с соответствующим идентификатором группы процессов и выполняет команду передавая это арг,
возвращает статус выхода.

убивать [-s спецификация | -n сигнум | -спецификация] [ПИД-регулятор | вакансии] ...
убивать -l [спецификация | выход_статус]
Отправить сигнал, названный спецификация or сигнум к процессам, названным ПИД-регулятор or
вакансии. спецификация является либо именем сигнала без учета регистра, например СИГКИЛЛ (с или
без SIG префикс) или номер сигнала; сигнум это номер сигнала. Если спецификация
нет, тогда СИГТЕРМ предполагается. Аргумент -l перечисляет имена сигналов.
Если какие-либо аргументы предоставлены, когда -l даны названия сигналов
соответствующие аргументам перечислены, и статус возврата равен 0.
выход_статус аргумент -l число, определяющее либо номер сигнала, либо
статус выхода из процесса, завершенного сигналом. убивать возвращает истину, если хотя бы один
сигнал был успешно отправлен, или false, если произошла ошибка или недопустимая опция
встречается.

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

локальным [вариант] [имя[=ценностное ] ...]
Для каждого аргумента локальная переменная с именем имя создается и назначается ценностное ,
вариант может быть любым из вариантов, принятых объявлять. Когда локальным используется в
функция, это вызывает переменную имя чтобы видимость ограничивалась этим
функция и ее дочерние элементы. Без операндов локальным пишет список местных
переменные в стандартный вывод. Это ошибка использовать локальным когда не в пределах
функция. Статус возврата - 0, если локальным используется вне функции,
недействительный имя поставляется, или имя переменная только для чтения.

Выход Выйдите из оболочки входа.

файл карты [-n считать] [-O происхождения] [-s считать] [-t] [-u fd] [-C Перезвони] [-c квантовый] [массив]
чтение массива [-n считать] [-O происхождения] [-s считать] [-t] [-u fd] [-C Перезвони] [-c квантовый]
[массив]
Прочитать строки из стандартного ввода в переменную индексированного массива массив, Или
дескриптор файла fd если -u опция поставляется. Переменная МАПФАЙЛ это
по умолчанию массив. Опции, если они есть, имеют следующие значения:
-n Копировать не более считать линий. Если считать равно 0, копируются все строки.
-O Начните назначать массив по индексу происхождения. Индекс по умолчанию - 0.
-s Откажитесь от первого считать строки читал.
-t Удалите завершающую новую строку из каждой прочитанной строки.
-u Прочитать строки из файлового дескриптора fd вместо стандартного ввода.
-C Оценивать Перезвони каждый раз квантовый строки читаются. В -c опция указывает
квантовый.
-c Укажите количество строк, читаемых между каждым вызовом Перезвони.

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

Если не указано явное происхождение, файл карты очистится массив перед назначением
к нему.

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

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

Если же линия индикатора Popd команда успешна, каталоги также выполняется, и возврат
статус 0. Popd возвращает false, если встречается недопустимая опция, каталог
стек пуст, указана несуществующая запись в стеке каталогов или каталог
изменить не удалось.

Printf [-v вар] формат [Аргументы]
Напишите отформатированный Аргументы к стандартному выходу под контролем
формат, -v опция заставляет вывод быть назначенным переменной вар скорее
чем выводится на стандартный вывод.

Ассоциация формат представляет собой символьную строку, содержащую три типа объектов: простые
символы, которые просто копируются в стандартный вывод, escape-последовательности символов,
которые преобразуются и копируются в стандартный вывод, и спецификации формата,
каждый из которых вызывает печать следующего следующего аргумент, В добавок к
стандарт Printf(1) спецификации формата, Printf интерпретирует следующее
расширения:
%b Причины Printf чтобы развернуть escape-последовательности с обратной косой чертой в соответствующих
аргумент (Кроме этого \c завершает вывод, обратная косая черта в \', \"качества \?
не удаляются, а восьмеричные escape-последовательности, начинающиеся с \0 может содержать до четырех
цифры).
%q Причины Printf вывести соответствующий аргумент в формате, который может быть
повторно используется как ввод оболочки.
%(свидание)T
Причины Printf для вывода строки даты и времени, полученной в результате использования свидание as
строка формата для стрфтайм(3). Соответствующие аргумент целое число
представляющий количество секунд с начала эпохи. Два особых аргумента
могут использоваться значения: -1 представляет текущее время, а -2 представляет
время вызова оболочки. Если аргумент не указан, преобразование ведется
как если бы было дано -1. Это исключение из обычного Printf поведение.

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

Ассоциация формат повторно используется по мере необходимости, чтобы использовать все Аргументы, Если формат
требует большего Аргументы чем поставляются, дополнительные спецификации формата ведут себя
как если бы было предоставлено нулевое значение или пустая строка, в зависимости от ситуации. Возврат
значение равно нулю в случае успеха, ненулевое значение в случае неудачи.

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

Если же линия индикатора Pushd команда успешна, каталоги также выполняется. Если первая форма
используется, Pushd возвращает 0, если cd не директория терпит неудачу. Во второй форме Pushd
возвращает 0, если стек каталогов не пуст, несуществующий стек каталогов
указан элемент, или каталог изменится на указанный новый текущий
каталог не работает.

PWD [-ЛП]
Выведите абсолютный путь к текущему рабочему каталогу. Путь напечатан
не содержит символических ссылок, если -P опция поставляется или -o физический вариант
до набор встроенная команда включена. Если -L используется опция, путь
print может содержать символические ссылки. Статус возврата - 0, если не возникает ошибка.
при чтении имени текущего каталога предоставляется недопустимая опция.

читать [-ерс] [-a имя] [-d DELIM] [-i текст] [-n нчарс] [-N нчарс] [-p подсказка] [-t
Тайм-аут] [-u fd] [имя ...]
Одна строка читается из стандартного ввода или из файлового дескриптора fd поставляется
в качестве аргумента -u вариант, а первое слово присваивается первому имя,
второе слово на второе имя, и так далее, с оставшимися словами и их
промежуточные разделители, назначенные последним имя. Если прочитано меньше слов
из входного потока, чем имена, оставшимся именам присваиваются пустые значения.
Персонажи в IFS используются для разделения строки на слова по тем же правилам
оболочка использует для расширения (описано выше в разделе Word расщепляющий). Обратная косая черта
персонаж (\) может использоваться для удаления какого-либо специального значения для следующего прочитанного символа
и для продолжения строки. Опции, если они есть, имеют следующие значения:
-a имя
Словам присваиваются последовательные индексы переменной массива имя,
начиная с 0. имя не устанавливается до того, как будут присвоены какие-либо новые значения. Другой
имя аргументы игнорируются.
-d DELIM
Первый персонаж DELIM используется для завершения строки ввода, скорее
чем новая строка.
-e Если стандартный ввод поступает с терминала, Readline (См. РЕДЛИН
выше) используется для получения строки. Readline использует текущий (или по умолчанию,
если редактирование строки ранее не было активным) настройки редактирования.
-i текст
If Readline используется для чтения строки, текст помещается в редакцию
буфер перед началом редактирования.
-n нчарс
читать возвращается после прочтения нчарс персонажей, а не ждать
полная строка ввода, но соблюдайте разделитель, если меньше, чем нчарс
символы читаются до разделителя.
-N нчарс
читать возвращается после прочтения точно нчарс персонажей, а не ждать
полная строка ввода, если не встречается EOF или читать время вышло.
Символы-разделители, встречающиеся во вводе, не обрабатываются специально и
не вызывают читать вернуться, пока нчарс символы читаются.
-p подсказка
Дисплей подсказка при стандартной ошибке, без символа новой строки в конце, перед
пытается прочитать любой ввод. Подсказка отображается, только если ввод
исходящий из терминала.
-r Обратная косая черта не действует как escape-символ. Обратная косая черта считается
быть частью линии. В частности, пара обратной косой черты и новой строки не может быть
используется как продолжение строки.
-s Бесшумный режим. Если ввод идет с терминала, символы не отображаются.
-t Тайм-аут
Вызывать читать для тайм-аута и возврата ошибки, если полная строка ввода (или
указанное количество символов) не читается в пределах Тайм-аут секунд. Тайм-аут
может быть десятичным числом с дробной частью после десятичной
точка. Этот вариант эффективен только в том случае, если читать читает ввод из
терминал, канал или другой специальный файл; не действует при чтении из
обычные файлы. Если читать время вышло, читать сохраняет любой прочитанный частичный ввод в
указанная переменная имя. Если Тайм-аут это 0, читать немедленно возвращается,
не пытаясь прочитать какие-либо данные. Статус выхода равен 0, если вход доступен.
на указанном дескрипторе файла, в противном случае - ненулевое значение. Статус выхода
больше 128, если превышен тайм-аут.
-u fd Прочитать ввод из файлового дескриптора fd.

Если нет имена поставляются, чтение строки присваивается переменной оТВЕТИТЬ,
код возврата равен нулю, если не встречается конец файла, читать время ожидания (в котором
если код возврата больше 128), ошибка присвоения переменной (например,
присваивается переменной только для чтения) или указан недопустимый файловый дескриптор
в качестве аргумента -u.

только для чтения [-аАф] [-p] [имя[=слово] ...]
Данный имена помечены только для чтения; ценности этих имена не может быть изменено
по последующему присвоению. Если -f опция поставляется, функции
соответствующие имена так отмечены. В -a опция ограничивает переменные до
индексированные массивы; в -A опция ограничивает переменные ассоциативными массивами. Если
поставляются оба варианта, -A имеет приоритет. Если нет имя приводятся аргументы, или
если -p опция, выводится список всех имен, доступных только для чтения. Другой
параметры могут использоваться, чтобы ограничить вывод подмножеством набора только для чтения
имена. В -p опция заставляет вывод отображаться в формате, который можно использовать повторно
как вход. Если после имени переменной стоит =слово, значение переменной
установлен в слово. Статус возврата - 0, если не встречается недопустимая опция, один
имена не является допустимым именем переменной оболочки, или -f поставляется с имя который
это не функция.

возвращают [n]
Заставляет функцию прекратить выполнение и вернуть значение, указанное в n его
звонящий. Если n опущен, возвращается статус последней команды, выполненной в
тело функции. Если возвращают используется вне функции, но во время выполнения
сценарий . (источник), она заставляет оболочку прекратить выполнение этого
скрипт и верните либо n или статус выхода последней команды, выполненной в
сценарий как статус выхода сценария. Если n поставляется, возвращаемое значение
его младшие 8 бит. Статус возврата не равен нулю, если возвращают поставляется
нечисловой аргумент или используется вне функции, а не во время выполнения
сценарий . or источник. Любая команда, связанная с ВЕРНУТЬ ловушка выполнена
перед выполнением возобновляется после функции или сценария.

набор [--abefhkmnptuvxBCEHPT] [-o имя-опции] [аргумент ...]
набор [+ abefhkmnptuvxBCEHPT] [+o имя-опции] [аргумент ...]
Без параметров имя и значение каждой переменной оболочки отображаются в
формат, который можно повторно использовать в качестве входных данных для установки или сброса текущего установленного
переменные. Переменные только для чтения не могут быть сброшены. В POSIX режим, только оболочка
перечислены переменные. Вывод сортируется в соответствии с текущим языковым стандартом. Когда
указаны параметры, они устанавливают или отменяют атрибуты оболочки. Любые оставшиеся аргументы
после обработки опций обрабатываются как значения для позиционных параметров и
назначен, чтобы $1, $2, ... $n. Параметры, если они указаны, имеют следующие
значения:
-a Автоматически отмечать изменяемые или создаваемые переменные и функции
для экспорта в среду последующих команд.
-b Сообщать о статусе завершенных фоновых заданий немедленно, а не
перед следующим основным запросом. Это эффективно только тогда, когда
включен.
-e Выйти немедленно, если трубопровод (который может состоять из одного декриминализовано
команду) Из списокИли соединение команду (См. SHELL ГРАММАТИКА выше), выход
с ненулевым статусом. Оболочка не завершает работу, если команда не работает.
является частью списка команд сразу после в то время как or до ключевое слово,
часть теста после if or Элиф зарезервированные слова, часть любых
команда выполняется в && or || список, кроме команды, следующей за последним
&& or ||, любая команда в конвейере, кроме последней, или если команда
возвращаемое значение инвертируется с !. Если составная команда, отличная от
подоболочка возвращает ненулевой статус, потому что команда не удалась, пока -e законопроект
при игнорировании оболочка не завершается. Ловушка на ERR, если установлено, выполняется
до того, как оболочка выйдет. Этот параметр применяется к среде оболочки и
каждую среду подоболочки отдельно (см. КОМАНДА ИСПОЛНЕНИЕ ОКРУЖАЮЩАЯ СРЕДА
выше), и может вызвать выход подоболочки перед выполнением всех команд
в подоболочке.

Если составная команда или функция оболочки выполняется в контексте, где -e is
игнорируется, ни одна из команд, выполняемых в составе составной команды или
на тело функции будет влиять -e настройка, даже если -e установлен и
команда возвращает статус сбоя. Если составная команда или функция оболочки
Наборы -e при выполнении в контексте, где -e игнорируется, эта настройка будет
не имеют никакого эффекта, пока составная команда или команда, содержащая
вызов функции завершается.
-f Отключить раскрытие имени пути.
-h Запомните расположение команд, поскольку они ищутся для выполнения.
По умолчанию это включено.
-k Все аргументы в форме операторов присваивания помещаются в
окружение для команды, а не только те, которые предшествуют имени команды.
-m Режим монитора. Включено управление заданиями. Эта опция включена по умолчанию для
интерактивные оболочки в системах, которые его поддерживают (см. РАБОТА КОНТРОЛЬ выше). Все
процессы выполняются в отдельной группе процессов. Когда фоновая работа
завершается, оболочка печатает строку, содержащую его статус выхода.
-n Прочтите команды, но не выполняйте их. Это может быть использовано для проверки оболочки
скрипт для синтаксических ошибок. Это игнорируется интерактивными оболочками.
-o имя-опции
Ассоциация имя-опции может быть одним из следующих:
аллэкспорт
Такой же как -a.
скобкарасширять
Такой же как -B.
Emacs Используйте интерфейс редактирования командной строки в стиле emacs. Это включено
по умолчанию, если оболочка интерактивна, если только оболочка не
началось с - редактирование вариант. Это также влияет на редактирование
интерфейс, используемый для читать -e.
ошибочный выход Такой же как -e.
ошибка
Такой же как -E.
функция
Такой же как -T.
хешалл Такой же как -h.
растянуть
Такой же как -H.
история Включите историю команд, как описано выше в разделе ИСТОРИЯ. Это
опция включена по умолчанию в интерактивных оболочках.
игнорирование
Эффект такой, как если бы команда оболочки IGNOREEOF = 10 была
выполнен (см. Оболочка Переменные выше).
ключевое слово Такой же как -k.
монитор Такой же как -m.
никчемный
Такой же как -C.
поехес Такой же как -n.
ноглоб Такой же как -f.
нолог В настоящее время игнорируется.
уведомлять Такой же как -b.
существительное Такой же как -u.
одна команда Такой же как -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 наследуется функциями оболочки, команда
подстановки и команды, выполняемые в среде подоболочки. В ERR
trap в таких случаях обычно не передается по наследству.
-H Включите ! подмена истории стиля. Эта опция включена по умолчанию, когда
оболочка интерактивна.
-P Если установлено, оболочка не разрешает символические ссылки при выполнении команд.
как cd которые меняют текущий рабочий каталог. Он использует физический
структура каталогов вместо этого. По умолчанию, колотить следует логической цепочке
каталоги при выполнении команд, изменяющих текущий каталог.
-T Если установлено, любые ловушки на ОТЛАЖИВАТЬ и ВЕРНУТЬ наследуются функциями оболочки,
подстановки команд и команды, выполняемые в среде подоболочки.
Ассоциация ОТЛАЖИВАТЬ и ВЕРНУТЬ ловушки в таких случаях обычно не передаются по наследству.
-- Если за этой опцией нет аргументов, то позиционные параметры
не установлен. В противном случае позиционные параметры устанавливаются равными аргументс, даже если
некоторые из них начинаются с -.
- Подайте сигнал об окончании опций, потому что все оставшиеся аргументs будет назначен
позиционные параметры. В -x и -v опции отключены. Если есть
нет аргументs, позиционные параметры остаются неизменными.

По умолчанию параметры отключены, если не указано иное. Использование + вместо -
вызывает отключение этих параметров. Параметры также можно указать как
аргументы для вызова оболочки. Текущий набор опций можно найти
in $-. Статус возврата всегда истина, если не встречается недопустимая опция.

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

купил [-pqsu] [-o] [имя опции ...]
Переключить значения параметров, управляющих необязательным поведением оболочки. Настройки
могут быть либо перечисленные ниже, либо, если -o опция используется, те, что есть
с -o вариант для набор встроенная команда. Без вариантов или с -p
отображается список всех настраиваемых параметров с указанием того,
или не каждый установлен. В -p опция заставляет вывод отображаться в форме, которая может
повторно использовать в качестве входных данных. Другие варианты имеют следующие значения:
-s Включить (установить) каждый имя опции.
-u Отключить (сбросить) каждый имя опции.
-q Подавляет нормальный вывод (тихий режим); статус возврата указывает,
домен имя опции установлен или не установлен. Если несколько имя опции аргументы приводятся с
-q, статус возврата равен нулю, если все опционы включены; ненулевой
в противном случае.
-o Ограничивает значения имя опции быть теми, которые определены для -o вариант для
набор встроенный.

Если либо -s or -u используется без имя опции аргументы, купил показывает только те
параметры, которые установлены или отключены соответственно. Если не указано иное, купил
по умолчанию параметры отключены (не установлены).

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

Список купил варианты:

автозапуск Если установлено, имя команды, которое является именем каталога, выполняется, как если бы оно
были аргументом cd команда. Эта опция используется только
интерактивные оболочки.
cdable_vars
Если установлено, аргумент cd встроенная команда, которая не является каталогом,
Предполагается, что это имя переменной, значение которой - это каталог, который нужно изменить
к.
cdspell Если установлено, незначительные ошибки в написании компонента каталога в cd
команда будет исправлена. Проверенные ошибки переносятся
символов, отсутствующего символа или слишком большого количества символов. Если
исправление найдено, исправленное имя файла печатается, и команда
продолжается. Эта опция используется только интерактивными оболочками.
контрольный хэш
Если установлено, колотить проверяет, что команда, найденная в хеш-таблице, существует до
пытаясь выполнить это. Если хешированная команда больше не существует, обычный путь
поиск выполняется.
чековые вакансии
Если установлено, колотить перечисляет статус любых остановленных и запущенных заданий перед
выход из интерактивной оболочки. Если какие-либо задания выполняются, это вызывает
выход будет отложен до попытки второго выхода без вмешательства
команда (см. РАБОТА КОНТРОЛЬ выше). Оболочка всегда откладывает выход, если есть
рабочие места остановлены.
чек
Если установлено, колотить проверяет размер окна после каждой команды и при необходимости
обновляет значения ЛИНИИ и КОЛОННЫ.
cmdhist Если установлено, колотить пытается сохранить все строки многострочной команды в
та же запись в истории. Это позволяет легко повторно редактировать многострочные команды.
совместимость31
Если установлено, колотить изменяет свое поведение на версию 3.1 в отношении
приводил аргументы [[ условная команда =~ оператор и локаль-
конкретное сравнение строк при использовании [[ условная команда < и >
операторы. Версии Bash до bash-4.1 используют сортировку ASCII и
стркмп(3); bash-4.1 и более поздние версии используют последовательность сортировки текущей локали
и Strcoll(3).
совместимость32
Если установлено, колотить изменяет свое поведение на версию 3.2 в отношении
сравнение строк, зависящих от локали, при использовании [[ условная команда <
и > операторы (см. предыдущий пункт).
совместимость40
Если установлено, колотить изменяет свое поведение на версию 4.0 в отношении
сравнение строк, зависящих от локали, при использовании [[ условная команда <
и > операторы (см. описание совместимость31) и эффект
прерывание списка команд. Bash версии 4.0 и более поздних прерывает
список, как если бы оболочка получила прерывание; предыдущие версии продолжаются
со следующей командой в списке.
совместимость41
Если установлено, колотить, когда в POSIX режим, обрабатывает одинарные кавычки в двойных кавычках
расширение параметра как специальный символ. Одиночные кавычки должны соответствовать
(четное число), а символы в одинарных кавычках -
считается процитированным. Это поведение режима posix до версии 4.1.
Поведение bash по умолчанию остается таким же, как и в предыдущих версиях.
совместимость42
Если установлено, колотить не обрабатывает заменяющую строку в шаблоне
подстановка подстановочного слова с использованием удаления кавычек.
Complete_fullquote
Если установлено, колотить заключает в кавычки все метасимволы оболочки в именах файлов и в каталоге
имена при выполнении доработки. Если не установлен, колотить удаляет метасимволы
например, знак доллара из набора символов, который будет заключен в кавычки в
завершенные имена файлов, когда эти метасимволы появляются в переменной оболочки
список литературы необходимо дополнить. Это означает, что знак доллара в
имена переменных, которые расширяются до каталогов, не будут заключаться в кавычки; однако любые
Знаки доллара в именах файлов также не будут заключаться в кавычки. Это
активен только тогда, когда bash использует обратную косую черту для цитирования завершенных имен файлов.
Эта переменная установлена ​​по умолчанию, что является поведением bash по умолчанию в
версии до 4.2.
Direxpand
Если установлено, колотить заменяет имена каталогов результатами подстановки слов
при выполнении завершения имени файла. Это изменяет содержимое
Буфер редактирования строки чтения. Если не установлен, колотить пытается сохранить то, что
пользователь набрал.
Dirspell
Если установлено, колотить пытается исправить орфографию в именах каталогов во время слова
завершение, если изначально заданное имя каталога не существует.
многоточие Если установлено, колотить включает имена файлов, начинающиеся с символа `. ' в результате
расширение имени пути.
execfail
Если установлено, неинтерактивная оболочка не выйдет, если не сможет выполнить файл.
указан в качестве аргумента Exec встроенная команда. Интерактивная оболочка
не выходит, если Exec не удается.
expand_aliases
Если установлено, псевдонимы раскрываются, как описано выше в разделе НИКНЕЙМЫ. Этот вариант
по умолчанию включен для интерактивных оболочек.
экстдебаг
Если установлено, то поведение, предназначенное для использования отладчиками, включено:
1. Ассоциация -F вариант для объявлять builtin отображает имя исходного файла
и номер строки, соответствующий каждому имени функции, предоставленному как
аргумент.
2. Если команда, выполняемая ОТЛАЖИВАТЬ trap возвращает ненулевое значение,
следующая команда пропускается и не выполняется.
3. Если команда, выполняемая ОТЛАЖИВАТЬ trap возвращает значение 2, а
оболочка выполняется в подпрограмме (функция оболочки или оболочка
сценарий, выполняемый . or источник встроенные), вызов возвращают is
смоделировано.
4. BASH_ARGC и BASH_ARGV обновляются, как описано в их
описания выше.
5. Включена трассировка функций: подстановка команд, функции оболочки,
и подоболочки, вызываемые с помощью ( команду ) унаследовать ОТЛАЖИВАТЬ и ВЕРНУТЬ
ловушки.
6. Включена трассировка ошибок: подстановка команд, функции оболочки,
и подоболочки, вызываемые с помощью ( команду ) унаследовать ERR ловушка.
extglob Если установлено, расширенные функции сопоставления с образцом, описанные выше в разделе
Pathname расширение включены.
ExtQuote.
Если установлено, $'string' а также $"string"котировка осуществляется в ${параметр}
расширения заключены в двойные кавычки. Эта опция включена по умолчанию.
фейлглоб
Если установлено, шаблоны, которые не соответствуют именам файлов во время раскрытия имени пути
приведет к ошибке раскрытия.
Force_fignore
Если установлено, суффиксы, указанные в ФИГНОРЕ переменная оболочки заставляет слова
игнорироваться при выполнении завершения слова, даже если игнорируемые слова
единственно возможные доработки. Видеть SHELL ПЕРЕМЕННЫЕ выше для описания
of ФИГНОРЕ. Эта опция включена по умолчанию.
глобусы
Если установлено, выражения диапазона, используемые в выражениях скобок сопоставления с образцом (см.
шаблон Согласование выше) ведут себя так, как если бы в традиционном языковом стандарте C, когда
выполнение сравнений. То есть последовательность сортировки текущей локали
не учитывается, поэтому b не будет сопоставлять между A и Bкачества
Заглавные и строчные символы ASCII сопоставляются вместе.
Globstar
Если установлено, шаблон ** используется в контексте расширения имени пути будет соответствовать всем
файлы и ноль или более каталогов и подкаталогов. Если узор
следует /, совпадают только каталоги и подкаталоги.
gnu_errfmt
Если установлено, сообщения об ошибках оболочки записываются в стандартное сообщение об ошибке GNU.
формат.
его добавление
Если установлено, список истории добавляется к файлу, названному значением параметра
ИСТФАЙЛ при выходе из оболочки вместо перезаписи файла.
историяправить
Если установлено, и Readline используется, пользователю предоставляется возможность повторно
отредактировать неудачную замену истории.
проверить
Если установлено, и Readline используется, результаты подстановки истории
не сразу передается в синтаксический анализатор оболочки. Вместо этого результирующая строка
загружен в Readline буфер редактирования, позволяющий вносить дальнейшие изменения.
хостполный
Если установлено, и Readline используется, колотить попытается выполнить имя хоста
завершение, когда слово, содержащее @ достраивается (см. Комплектующие
под РЕДЛИН выше). По умолчанию это включено.
гупонэкит
Если установлено, колотить пошлет ПОДПИСАТЬСЯ ко всем заданиям, когда интерактивная оболочка входа
выходы.
интерактивные_комментарии
Если установлено, разрешить слово, начинающееся с # чтобы вызвать это слово и все остальное
символы в этой строке, которые следует игнорировать в интерактивной оболочке (см. КОММЕНТАРИИ
выше). Эта опция включена по умолчанию.
последняя труба
Если установлено, а управление заданиями неактивно, оболочка выполняет последнюю команду
конвейер не выполняется в фоновом режиме в текущей среде оболочки.
литолог Если установлено, и cmdhist опция включена, многострочные команды сохраняются в
история со встроенными символами новой строки вместо использования разделителей точкой с запятой
где возможно.
логин_оболочка
Оболочка устанавливает этот параметр, если он запущен как оболочка входа в систему (см.
ПРИЗЫВ выше). Значение не может быть изменено.
почтовое предупреждение
Если установлено, и файл, колотить проверяет доступ к почте с
при последней проверке сообщение `` Почта в почтовый файл было
читать ''.
no_empty_cmd_completion
Если установлено, и Readline используется, колотить не будет пытаться искать
PATH для возможных завершений при попытке завершения на пустом
линии.
ноказеглоб
Если установлено, колотить сопоставляет имена файлов без учета регистра, когда
выполнение раскрытия имени пути (см. Pathname расширение выше).
нет совпадения
Если установлено, колотить сопоставляет шаблоны без учета регистра при выполнении
соответствие при выполнении случаев or [[ условные команды.
нульглоб
Если установлено, колотить разрешает шаблоны, которые не соответствуют файлам (см. Pathname расширение
выше) для расширения до пустой строки, а не до самих себя.
прогкомп
Если установлено, программируемые средства завершения (см. Программируемый Завершение
выше) включены. Эта опция включена по умолчанию.
подсказки
Если установлено, строки подсказок подвергаются расширению параметров, подстановке команд,
арифметическое раскрытие и удаление кавычек после раскрытия, как описано
in ПЕРСПЕКТИВЫ выше. Эта опция включена по умолчанию.
ограниченная_оболочка
Оболочка устанавливает эту опцию, если запускается в ограниченном режиме (см.
ОГРАНИЧЕННЫЕ SHELL ниже). Значение не может быть изменено. Это не сбрасывается
при запуске файлов запуска, позволяя файлам запуска обнаруживать
независимо от того, ограничена ли оболочка.
Shift_verbose
Если установлено, сдвиг встроенный выводит сообщение об ошибке, когда количество сдвигов
превышает количество позиционных параметров.
исходный путь
Если установлено, источник (.) builtin использует значение PATH найти каталог
содержащий файл, предоставленный в качестве аргумента. Эта опция включена
по умолчанию.
xpg_echo
Если установлено, эхо builtin по умолчанию разворачивает escape-последовательности с обратной косой чертой.

приостановить [-f]
Приостановить выполнение этой оболочки, пока она не получит СЛЕДУЮЩИЙ сигнал. Логин
оболочка не может быть приостановлена; в -f опцию можно использовать, чтобы переопределить это и заставить
приостановка. Статус возврата равен 0, если оболочка не является оболочкой входа и -f Не
поставляется, или если управление заданиями не включено.

тестXNUMX выраж
[ выраж ]
Возвращает статус 0 (истина) или 1 (ложь) в зависимости от оценки
условное выражение выраж. Каждый оператор и операнд должны быть отдельным
аргумент. Выражения состоят из основных цветов, описанных выше в разделе
Условный ВЫРАЖЕНИЯ. тестXNUMX не принимает никаких вариантов, а также не принимает и
игнорировать аргумент -- как обозначение конца вариантов.

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

тестXNUMX и [ оценивать условные выражения с помощью набора правил, основанных на
количество аргументов.

Аргументы 0
Выражение ложное.
1 аргумент
Выражение истинно тогда и только тогда, когда аргумент не равен нулю.
Аргументы 2
Если первый аргумент !, выражение истинно тогда и только тогда, когда второе
аргумент равен нулю. Если первый аргумент является одним из унарных условных
операторы, перечисленные выше в Условный ВЫРАЖЕНИЯ, выражение верно
если унарный тест верен. Если первый аргумент не является допустимым унарным
условный оператор, выражение ложно.
Аргументы 3
Следующие условия применяются в указанном порядке. Если второй
Аргумент - это один из бинарных условных операторов, перечисленных выше в разделе
Условный ВЫРАЖЕНИЯ, результат выражения является результатом
двоичный тест с использованием первого и третьего аргументов в качестве операндов. В -a и -o
операторы считаются бинарными операторами, если есть три аргумента.
Если первый аргумент !, значение является отрицанием двух аргументов
проверить, используя второй и третий аргументы. Если первый аргумент точно
( и третий аргумент точно ), результат - тест с одним аргументом
второго аргумента. В противном случае выражение ложно.
Аргументы 4
Если первый аргумент !, результатом является отрицание трех аргументов
выражение, составленное из оставшихся аргументов. В противном случае выражение
анализируется и оценивается в соответствии с приоритетом с использованием перечисленных правил
выше.
5 и более аргументов
Выражение анализируется и оценивается в соответствии с приоритетом с использованием
правила, перечисленные выше.

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

раз Вывести общее пользовательское и системное время для оболочки и запущенных процессов.
из оболочки. Статус возврата - 0.

ловушка [-лп] [[аргумент] спецификация ...]
Команда аргумент должен быть прочитан и выполнен, когда оболочка получает сигнал (ы)
спецификация. Если аргумент отсутствует (а есть единичный спецификация) Или -, каждый указанный
сигнал сбрасывается в исходное состояние (значение, которое он имел при входе в
оболочка). Если аргумент это нулевая строка, сигнал, определяемый каждым спецификация игнорируется
оболочкой и вызываемыми ею командами. Если аргумент нет и -p было
поставляются, то команды ловушки, связанные с каждым спецификация отображаются. Если нет
аргументы предоставляются или если только -p дано, ловушка печатает список команд
связанный с каждым сигналом. В -l опция заставляет оболочку печатать список
названия сигналов и соответствующие им номера. Каждый спецификация это либо имя сигнала
определено всигнал.ч> или сигнальное число. Имена сигналов нечувствительны к регистру и
домен SIG префикс не является обязательным.

Если спецификация is ВЫХОД (0) команда аргумент выполняется при выходе из оболочки. Если
спецификация is ОТЛАЖИВАТЬ, команда аргумент выполняется перед каждым декриминализовано команду, для
команда, случаев команда, выберите команда, каждая арифметика для команда, а перед
первая команда выполняется в функции оболочки (см. SHELL ГРАММАТИКА выше). Обратитесь к
описание экстдебаг вариант для купил Встроенная информация о его эффекте
на ОТЛАЖИВАТЬ ловушка. Если спецификация is ВЕРНУТЬ, команда аргумент выполняется каждый раз, когда
функция оболочки или сценарий, выполняемый с . or источник встроенная отделка
выполнение.

Если спецификация is ERR, команда аргумент выполняется всякий раз, когда конвейер (который может
состоит из одной простой команды), списка или составной команды возвращает
ненулевой статус выхода при соблюдении следующих условий. В ERR ловушка не
выполняется, если неудавшаяся команда является частью списка команд сразу после
в то время как or до ключевое слово, часть теста в if инструкция, часть команды
выполнен в && or || список, кроме команды, следующей за последним && or ||, любой
команда в конвейере, но последняя, ​​или если возвращаемое значение команды
перевернутый с использованием !. Это те же условия, которым подчиняются ошибочный выход (-e) вариант.

Сигналы, игнорируемые при входе в оболочку, не могут быть перехвачены или сброшены. В ловушке
сигналы, которые не игнорируются, сбрасываются до исходных значений в подоболочке
или среда подоболочки, когда она создается. Статус возврата - false, если есть
спецификация является недействительным; в противном случае ловушка возвращает истину.

напишите [-афтп] имя [имя ...]
Без параметров укажите, как каждый имя будет интерпретироваться, если используется как команда
название. Если -t опция используется, напишите печатает строку, которая является одной из псевдоним,
ключевое слово, функция, встроеннаяили файл if имя псевдоним, зарезервированное слово оболочки,
функция, встроенный или дисковый файл соответственно. Если имя не найден, то
ничего не печатается, и возвращается статус выхода false. Если -p опция
используемый, напишите либо возвращает имя файла на диске, который будет выполнен, если имя
были указаны как имя команды, или ничего, если `` type -t name '' не вернет
файл, -P вариант вынуждает PATH искать для каждого имя, даже если `` введите -t имя ''
не вернется файл. Если команда хешируется, -p и -P распечатать хешированное значение,
это не обязательно файл, который появляется первым в PATH, Если -a опция
используемый, напишите печатает все места, содержащие исполняемый файл с именем имя. Это
включает псевдонимы и функции, если и только если -p вариант тоже не используется. В
таблица хешированных команд не просматривается при использовании -a, -f опция подавляет
поиск функции оболочки, как и в случае с команду встроенный. напишите возвращает истину, если все
аргументы найдены, ложь, если таковые не найдены.

ограничение [-HSTabcdefilmnpqrstuvx [предел]]
Обеспечивает контроль над ресурсами, доступными оболочке и запущенным процессам
им, в системах, которые позволяют такой контроль. В -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, если не указан недопустимый параметр или аргумент, или если не возникает ошибка
при установке нового лимита.

Umask [-p] [-S] [Режим]
Маска создания файла пользователя установлена ​​на Режим. Если Режим начинается с цифры, это
интерпретируется как восьмеричное число; в противном случае это интерпретируется как маска символьного режима
аналогично принятому CHMOD(1). Если Режим опущено, текущее значение
маска напечатана. В -S опция заставляет маску печататься в символической форме; в
по умолчанию вывод - восьмеричное число. Если -p опция поставляется, и Режим is
опущено, выходные данные имеют форму, которую можно повторно использовать в качестве входных. Статус возврата
0, если режим был успешно изменен, или если нет Режим был предоставлен аргумент, и
в противном случае - ложь.

Unalias [-a] [имя ...]
Удалить каждую имя из списка определенных псевдонимов. Если -a поставляется, все псевдонимы
определения удалены. Возвращаемое значение истинно, если не указано имя не
определенный псевдоним.

сброшен [-fv] [-n] [имя ...]
Для каждого имя, удалите соответствующую переменную или функцию. Если -v опция
учитывая, что каждый имя ссылается на переменную оболочки, и эта переменная удаляется. Читать-
только переменные не могут быть сброшены. Если -f указано, каждый имя относится к оболочке
функция, и определение функции удаляется. Если -n опция поставляется,
и имя переменная с ссылка на имя атрибут, имя будет сброшен, а не
переменная, на которую он ссылается. -n не действует, если -f опция поставляется. Если нет
поставляются варианты, каждый имя относится к переменной; если нет переменной по
это имя, любая функция с таким именем не установлена. Каждая неустановленная переменная или функция
удаляется из среды, передаваемой последующим командам. Если любой из
COMP_WORDBREAKS, RANDOM, СЕКУНД, ЛИНЕНО, ГИСТКМД, ИМЯ ФУНКЦИИ, ГРУППЫили ДИРСТЕК
не настроены, они теряют свои особые свойства, даже если впоследствии сбрасываются.
Статус выхода истинен, если имя только для чтения.

ждать [-n] [n ...]
Дождитесь появления каждого указанного дочернего процесса и верните его статус завершения. Каждый n
может быть идентификатором процесса или спецификацией задания; если задано задание, все процессы
в конвейере этой работы ждут. Если n не дано, все в данный момент активны
дочерние процессы ожидаются, и статус возврата равен нулю. Если -n опция
поставляется, ждать ожидает завершения любого задания и возвращает статус завершения. Если n
указывает несуществующий процесс или задание, статус возврата - 127. В противном случае
Статус возврата - это статус выхода последнего ожидаемого процесса или задания.

ОГРАНИЧЕННЫЕ SHELL


If колотить начинается с имени рбаш, или -r опция предоставляется при вызове,
оболочка становится ограниченной. Ограниченная оболочка используется для настройки среды более
контролируется, чем стандартная оболочка. Он ведет себя идентично колотить с исключением
что следующее запрещено или не выполняется:

· Смена справочников с cd

· Установка или снятие значений SHELL, PATH, ENVили БАШ_ЕНВ

· Указание имен команд, содержащих /

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

· Указание имени файла, содержащего косую черту в качестве аргумента -p вариант для
хэш встроенная команда

· Импорт определений функций из среды оболочки при запуске

· Анализ значения ОБОЛОЧКИ из среды оболочки при запуске

· Перенаправление вывода с использованием операторов перенаправления>,> |, <>,> &, &> и >>

· с помощью Exec встроенная команда для замены оболочки другой командой

· Добавление или удаление встроенных команд с -f и -d варианты к включить
встроенная команда

· с помощью включить встроенная команда для включения отключенных встроенных команд оболочки

· Указание -p вариант для команду встроенная команда

· Отключение ограниченного режима с помощью набор +r or набор +o ограниченный.

Эти ограничения применяются после чтения любых файлов запуска.

Когда выполняется команда, которая является сценарием оболочки (см. КОМАНДА ИСПОЛНЕНИЕ
выше), рбаш отключает любые ограничения в оболочке, созданной для выполнения скрипта.

Используйте bash в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Плагин Eclipse Tomcat
    Плагин Eclipse Tomcat
    Плагин Eclipse Tomcat предоставляет
    простая интеграция сервлета tomcat
    контейнер для разработки java
    веб-приложения. Вы можете присоединиться к нам для
    обсуждение ...
    Скачать подключаемый модуль Eclipse Tomcat
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop предназначен для потоковой передачи
    торренты на Mac, Windows или Linux. Это
    подключается как к BitTorrent, так и к
    Одноранговые узлы WebTorrent. Теперь нет
    нужно ждать ...
    Скачать WebTorrent для рабочего стола
  • 3
    GenX
    GenX
    GenX - это научная программа для улучшения
    коэффициент отражения рентгеновских лучей, нейтрон
    отражательная способность и поверхностные рентгеновские лучи
    данные дифракции с использованием дифференциального
    алгоритм эволюции ....
    Скачать GenX
  • 4
    pspp4windows
    pspp4windows
    PSPP — программа для статистического
    анализ выборочных данных. это бесплатно
    замена фирменной программе
    СПСС. PSPP имеет как текстовую, так и
    графические нас...
    Скачать pspp4windows
  • 5
    Расширения Git
    Расширения Git
    Git Extensions - это автономный инструмент пользовательского интерфейса
    для управления репозиториями Git. Это также
    интегрируется с проводником Windows и
    Microsoft Visual Studio
    (2015/2017/2019). Ч ...
    Скачать расширения Git
  • 6
    eSpeak: синтез речи
    eSpeak: синтез речи
    Механизм преобразования текста в речь для английского и
    многие другие языки. Компактный размер с
    четкое, но искусственное произношение.
    Доступен в виде программы командной строки с
    много ...
    Скачать eSpeak: синтез речи
  • Больше »

Команды Linux

Ad