Spec-Zone.ru › Bash

Встроенные команды Bash

В этом разделе описаны встроенные команды, уникальные для Bash или расширенные в нём. Некоторые из этих команд определены стандартом POSIX.

alias
alias [-p] [name[=value] ...]

Если аргументы отсутствуют или указан параметр -p, alias выводит список псевдонимов в стандартный поток вывода в формате, позволяющем использовать его повторно в качестве ввода. Если указаны аргументы, для каждого name определяется псевдоним со значением value. Если value не указано, выводятся имя и значение псевдонима name. Завершающий пробел в value приводит к проверке следующего слова на замену псевдонимом при раскрытии псевдонима во время разбора команды. alias возвращает истину, если только не указано name (без соответствующего =value), для которого не определён псевдоним. Псевдонимы описаны в разделе Псевдонимы.

bind
bind [-m keymap] [-lsvSVX]
bind [-m keymap] [-q function] [-u function] [-r keyseq]
bind [-m keymap] -f filename
bind [-m keymap] -x keyseq[: ]shell-command
bind [-m keymap] keyseq:function-name
bind [-m keymap] keyseq:readline-command
bind [-m keymap] -p|-P [readline-command]
bind readline-command-line

Отображает текущие привязки клавиш и функций Readline (см. раздел Редактирование командной строки), привязывает последовательность клавиш к функции или макросу Readline либо к команде оболочки или задаёт переменную Readline. Каждый аргумент, не являющийся параметром, — это привязка клавиш или команда в формате файла инициализации Readline (см. раздел Файл инициализации Readline), но каждую привязку или команду необходимо передавать как отдельный аргумент; например, «"\C-x\C-r":re-read-init-file».

В приведённых ниже описаниях параметры, выводящие результат в формате, пригодном для повторного чтения, форматируют его как команды, которые можно поместить в файл инициализации Readline или передать как отдельные аргументы команде bind.

Если указаны параметры, они имеют следующие значения:

-m keymap

Использовать keymap в качестве раскладки клавиш, к которой будут применяться последующие привязки. Допустимые имена keymap: emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command и vi-insert. vi эквивалентно vi-command (vi-move также является синонимом); emacs эквивалентно emacs-standard.

-l

Вывести имена всех функций Readline.

-p

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

-P

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

-s

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

-S

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

-v

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

-V

Вывести текущие имена переменных Readline и их значения.

-f filename

Прочитать привязки клавиш из файла filename.

-q function

Отобразить последовательности клавиш, вызывающие указанную функцию Readline function.

-u function

Отменить все привязки последовательностей клавиш к указанной функции Readline function.

-r keyseq

Удалить текущую привязку для keyseq.

-x keyseq:shell-command

Выполнять shell-command при каждом вводе keyseq. Разделителем между keyseq и shell-command может быть пробельный символ или двоеточие, за которым может следовать пробельный символ. Если разделителем служит пробельный символ, shell-command необходимо заключить в двойные кавычки, и Readline раскрывает специальные обратные косые черты в shell-command перед сохранением. Если разделителем служит двоеточие, двойные кавычки можно не использовать, а Readline не раскрывает строку команды перед сохранением. Поскольку всё выражение привязки клавиш должно быть одним аргументом, его следует заключить в одинарные кавычки. При выполнении shell-command оболочка присваивает переменной READLINE_LINE содержимое буфера строки Readline, а переменным READLINE_POINT и READLINE_MARK — текущую позицию точки вставки и сохранённую позицию точки вставки (mark) соответственно. Оболочка присваивает переменной READLINE_ARGUMENT любой числовой аргумент, переданный пользователем. Если аргумент не был передан, эта переменная не устанавливается. Если выполненная команда изменяет значение любой из переменных READLINE_LINE, READLINE_POINT или READLINE_MARK, новые значения отразятся в состоянии редактирования.

-X

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

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

builtin
builtin [shell-builtin [args]]

Выполнить указанную встроенную команду оболочки shell-builtin, передав ей args, и вернуть её код завершения. Это полезно при определении функции оболочки с тем же именем, что и у встроенной команды, чтобы сохранить функциональность встроенной команды внутри функции. Возвращаемый код отличен от нуля, если shell-builtin не является встроенной командой оболочки.

caller
caller [expr]

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

Если expr не указан, caller выводит номер строки и имя исходного файла текущего вызова подпрограммы. Если в качестве expr передано неотрицательное целое число, caller выводит номер строки, имя подпрограммы и исходный файл, соответствующие указанной позиции в текущем стеке вызовов. Эти дополнительные сведения можно использовать, например, для вывода трассировки стека. Текущий кадр имеет номер 0.

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

command
command [-pVv] command [arguments ...]

Встроенная команда command выполняет command с аргументами arguments, игнорируя любую функцию оболочки с именем command. Выполняются только встроенные команды оболочки или команды, найденные при поиске в PATH. Если существует функция оболочки с именем ls, выполнение «command ls» внутри этой функции запустит внешнюю команду ls, а не вызовет функцию рекурсивно. Параметр -p означает, что следует использовать значение PATH по умолчанию, гарантирующее обнаружение всех стандартных утилит. В этом случае возвращается код 127, если command не найдена или произошла ошибка, и код завершения command в противном случае.

Если указан параметр -V или -v, command выводит описание command. Параметр -v выводит одно слово, указывающее команду или имя файла, использованные для вызова command; параметр -V выводит более подробное описание. В этом случае возвращается нулевой код, если command найдена, и ненулевой в противном случае.

declare
declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]

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

Параметр -p выводит атрибуты и значения каждого name. Если -p используется с аргументами name, дополнительные параметры, кроме -f и -F, игнорируются.

Если -p указан без аргументов name, declare выводит атрибуты и значения всех переменных, имеющих атрибуты, заданные дополнительными параметрами. Если вместе с -p не указаны другие параметры, declare выводит атрибуты и значения всех переменных оболочки. Параметр -f ограничивает вывод функциями оболочки.

Параметр -F запрещает вывод определений функций; выводятся только имя функции и её атрибуты. Если параметр оболочки extdebug включён с помощью shopt (см. раздел Встроенная команда shopt), также выводятся имя исходного файла и номер строки, где определено каждое name. -F подразумевает -f.

Параметр -g принудительно создаёт или изменяет переменные в глобальной области видимости, даже если declare выполняется в функции оболочки. Этот параметр игнорируется, если declare выполняется не в функции оболочки.

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

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

-a

Каждый name — переменная индексированного массива (см. раздел Массивы).

-A

Каждый name — переменная ассоциативного массива (см. раздел Массивы).

-f

Каждый name обозначает функцию оболочки.

-i

Переменная обрабатывается как целое число; при присваивании ей значения выполняется арифметическое вычисление (см. раздел Арифметические вычисления в оболочке).

-l

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

-n

Назначить каждому name атрибут nameref, превращая его в ссылку на имя другой переменной. Другая переменная определяется значением name. Все ссылки, присваивания и изменения атрибутов name, кроме операций, использующих или изменяющих сам атрибут -n, выполняются над переменной, на которую ссылается значение name. Атрибут nameref нельзя назначить переменным массива.

-r

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

-t

Назначить каждому name атрибут trace. Трассируемые функции наследуют перехватчики DEBUG и RETURN вызывающей оболочки. Атрибут трассировки не имеет специального значения для переменных.

-u

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

-x

Пометить каждую переменную name для экспорта последующим командам через окружение.

Использование «+» вместо «-» отключает указанный атрибут, за исключением того, что «+a» и «+A» нельзя использовать для уничтожения переменных массива, а «+r» не удаляет атрибут «только для чтения».

При использовании в функции declare делает каждую переменную name локальной, как и команда local, если не указан параметр -g. Если после имени переменной следует =value, переменной присваивается значение value.

При использовании -a или -A и синтаксиса составного присваивания для создания переменных массива дополнительные атрибуты вступают в силу только при последующих присваиваниях.

Возвращается нулевой код, если не обнаружен недопустимый параметр, не предпринимается попытка определить функцию с помощью «-f foo=bar», присвоить значение переменной только для чтения, присвоить значение переменной массива без использования синтаксиса составного присваивания (см. раздел Массивы), если все переменные name имеют допустимые имена переменных оболочки, не предпринимается попытка отключить режим «только для чтения» для переменной только для чтения, отключить режим массива для переменной массива или вывести несуществующую функцию с помощью -f.

echo
echo [-neE] [arg ...]

Вывести аргументы arg, разделённые пробелами и завершаемые символом новой строки. Возвращается код 0, если не произошла ошибка записи. Если указан -n, завершающий символ новой строки не выводится.

Если указан параметр -e, echo интерпретирует следующие символы с обратной косой чертой. Параметр -E отключает интерпретацию этих escape-последовательностей, в том числе в системах, где они интерпретируются по умолчанию. Параметр оболочки xpg_echo определяет, интерпретирует ли echo какие-либо параметры и раскрывает ли эти escape-последовательности. echo не интерпретирует -- как признак конца параметров.

echo интерпретирует следующие escape-последовательности:

\a

сигнал (звонок)

\b

возврат на одну позицию

\c

прекратить дальнейший вывод

\e
\E

символ ESC

\f

перевод страницы

\n

новая строка

\r

возврат каретки

\t

горизонтальная табуляция

\v

вертикальная табуляция

\\

обратная косая черта

\0nnn

Восьмибитный символ со значением nnn в восьмеричной системе счисления (от нуля до трёх восьмеричных цифр).

\xHH

Восьмибитный символ со значением HH в шестнадцатеричной системе счисления (одна или две шестнадцатеричные цифры).

\uHHHH

Символ Unicode (ISO/IEC 10646) со значением HHHH в шестнадцатеричной системе счисления (от одной до четырёх шестнадцатеричных цифр).

\UHHHHHHHH

Символ Unicode (ISO/IEC 10646) со значением HHHHHHHH в шестнадцатеричной системе счисления (от одной до восьми шестнадцатеричных цифр).

echo выводит любые неизвестные символы с обратной косой чертой без изменений.

enable
enable [-a] [-dnps] [-f filename] [name ...]

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

Если указан -n, имена name отключаются. В противном случае имена name включаются. Например, чтобы использовать двоичный файл test, найденный с помощью $PATH, вместо встроенной версии команды, введите «enable -n test».

Если указан параметр -p или не указаны аргументы name, выводится список встроенных команд оболочки. Если другие аргументы отсутствуют, список содержит все включённые встроенные команды оболочки. Параметр -n означает, что выводятся только отключённые встроенные команды. Параметр -a означает, что каждая встроенная команда выводится с указанием, включена она или нет. Параметр -s ограничивает вывод enable специальными встроенными командами POSIX.

Параметр -f загружает новую встроенную команду с именем name из разделяемого объекта filename в системах, поддерживающих динамическую загрузку. Если filename не содержит косой черты, Bash использует значение переменной BASH_LOADABLES_PATH как список каталогов, разделённых двоеточиями, для поиска файла filename. Значение BASH_LOADABLES_PATH по умолчанию зависит от системы и может включать «.», чтобы обеспечить поиск в текущем каталоге. Параметр -d удаляет встроенную команду, загруженную с помощью -f. Если вместе с -f используется -s, новая встроенная команда становится специальной встроенной командой POSIX (см. раздел Специальные встроенные команды).

Если параметры не указаны и name не является встроенной командой оболочки, enable попытается загрузить name из разделяемого объекта с именем name, как если бы команда имела вид «enable -f name name».

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

help
help [-dms] [pattern]

Вывести справочную информацию о встроенных командах. Если указан pattern, help выводит подробную справку обо всех командах, соответствующих pattern, как описано ниже; в противном случае выводится список всех встроенных команд и составных команд оболочки.

Если указаны параметры, они имеют следующие значения:

-d

Вывести краткое описание каждого pattern

-m

Вывести описание каждого pattern в формате, похожем на страницу руководства

-s

Вывести только краткую справку по использованию каждого pattern

Если pattern содержит символы сопоставления с образцом (см. раздел Сопоставление с образцом), он рассматривается как шаблон оболочки, и help выводит описание каждой темы справки, соответствующей pattern.

Если же pattern в точности совпадает с именем темы справки, help выводит описание этой темы. В противном случае help выполняет поиск по префиксу и выводит описания всех соответствующих тем справки.

Возвращается нулевой код, если найдена команда, соответствующая pattern.

let
let expression [expression ...]

Встроенная команда let позволяет выполнять арифметические операции над переменными оболочки. Каждое expression вычисляется как арифметическое выражение в соответствии с правилами, приведёнными ниже в разделе Арифметические вычисления в оболочке. Если последнее expression вычисляется в 0, let возвращает 1; в противном случае let возвращает 0.

local
local [option] name[=value] ...

Для каждого аргумента создать локальную переменную с именем name и присвоить ей значение value. Параметр option может быть любым из параметров, принимаемых командой declare. local можно использовать только внутри функции; она ограничивает видимую область действия переменной name этой функцией и её дочерними функциями. Использование local вне функции является ошибкой.

Если name равно «-», набор параметров оболочки становится локальным для функции, в которой вызвана local: все параметры оболочки, изменённые с помощью встроенной команды set внутри функции после вызова local, восстанавливают исходные значения при возврате из функции. Восстановление выполняется так, как если бы для возврата прежних значений была запущена последовательность команд set.

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

Возвращается нулевой код, если local используется внутри функции и указано допустимое name, не являющееся переменной только для чтения.

logout
logout [n]

Завершить оболочку входа в систему и вернуть родительской оболочке код состояния n.

mapfile
mapfile [-d delim] [-n count] [-O origin] [-s count]
    [-t] [-u fd] [-C callback] [-c quantum] [array]

Прочитать строки из стандартного ввода или из файлового дескриптора fd, если указан параметр -u, и записать их в переменную индексированного массива array. По умолчанию используется переменная MAPFILE. Если указаны параметры, они имеют следующие значения:

-d

Использовать первый символ delim для завершения каждой входной строки вместо символа новой строки. Если delim — пустая строка, mapfile завершает строку при чтении нулевого символа.

-n

Скопировать не более count строк. Если count равно 0, скопировать все строки.

-O

Начать запись в array с индекса origin. По умолчанию используется индекс 0.

-s

Отбросить первые count прочитанных строк.

-t

Удалить завершающий delim (по умолчанию — символ новой строки) из каждой прочитанной строки.

-u

Читать строки из файлового дескриптора fd, а не из стандартного ввода.

-C

Выполнять callback после чтения каждых quantum строк. Параметр -c задаёт значение quantum.

-c

Указать число строк, читаемых между вызовами callback.

Если указан -C без -c, значение quantum по умолчанию равно 5000. При выполнении callback ей передаются дополнительные аргументы: индекс следующего элемента массива, которому будет присвоено значение, и строка, которая будет присвоена этому элементу. callback выполняется после чтения строки, но до присваивания элемента массива.

Если явное начальное смещение не задано, mapfile очищает array перед записью в неё.

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

printf
printf [-v var] format [arguments]

Записать отформатированные arguments в стандартный поток вывода, руководствуясь строкой format. Параметр -v присваивает результат переменной var, а не выводит его в стандартный поток вывода.

format — это строка символов, содержащая три типа элементов: обычные символы, которые просто копируются в стандартный поток вывода; escape-последовательности символов, которые преобразуются и копируются в стандартный поток вывода; и спецификаторы формата, каждый из которых вызывает вывод следующего аргумента argument. Помимо стандартных символов формата printf(3) cCsSndiouxXeEfFgGaA, printf интерпретирует следующие дополнительные спецификаторы формата:

%b

Заставляет printf раскрывать escape-последовательности с обратной косой чертой в соответствующем аргументе argument так же, как echo -e (см. раздел Встроенные команды Bash).

%q

Заставляет printf выводить соответствующий аргумент argument в формате, пригодном для повторного использования в качестве ввода оболочки. %q и %QP используют стиль кавычек ANSI-C (см. раздел Кавычки ANSI-C), если строка аргумента содержит символы, требующие такого оформления; в противном случае используется экранирование обратной косой чертой. Если в строке формата используется printf альтернативная форма, эти два формата заключают строку аргумента в одинарные кавычки.

%Q

Подобно %q, но применяет заданную точность к аргументу argument перед заключением его в кавычки.

%(datefmt)T

Заставляет printf выводить строку даты и времени, полученную при использовании datefmt в качестве строки формата для strftime(3). Соответствующий аргумент argument — целое число, обозначающее количество секунд с начала эпохи. Этот спецификатор формата распознаёт два особых значения аргумента: -1 обозначает текущее время, а -2 — время запуска оболочки. Если аргумент не указан, преобразование выполняется так, как если бы было задано значение -1. Это исключение из обычного поведения printf.

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

Спецификатор формата %n принимает соответствующий аргумент, рассматриваемый как имя переменной оболочки.

Спецификаторы формата %s и %c принимают модификатор l (long), который преобразует строку аргумента в широкую строку символов и применяет заданные ширину поля и точность в символах, а не в байтах. Спецификаторы формата %S и %C эквивалентны соответственно %ls и %lc.

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

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

read
read [-Eers] [-a aname] [-d delim] [-i text] [-n nchars]
    [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

Прочитать одну строку из стандартного ввода или из файлового дескриптора fd, переданного в качестве аргумента параметра -u, разделить её на слова, как описано выше в разделе Разбиение на слова, и присвоить первое слово первому name, второе слово — второму name и так далее. Если слов больше, чем имён, оставшиеся слова вместе с разделителями между ними присваиваются последнему name. Если из потока ввода прочитано меньше слов, чем имён, оставшимся именам присваиваются пустые значения. Символы в значении переменной IFS используются для разбиения строки на слова по тем же правилам, которые оболочка применяет при подстановке (описаны выше в разделе Разбиение на слова). Символ обратной косой черты ‘\’ отменяет специальное значение следующего прочитанного символа и используется для продолжения строки.

Если указаны параметры, они имеют следующие значения:

-a aname

Слова присваиваются последовательным индексам индексированного массива aname, начиная с 0. Перед присваиванием все элементы удаляются из aname. Остальные аргументы name игнорируются.

-d delim

Первый символ delim завершает строку ввода вместо символа новой строки. Если delim — пустая строка, read завершит строку при чтении символа NUL.

-e

Если стандартный ввод поступает с терминала, read использует Readline (см. раздел Редактирование командной строки) для получения строки. Readline использует текущие параметры редактирования (или параметры по умолчанию, если редактирование строк ранее не было активировано), но использует автодополнение имён файлов Readline по умолчанию.

-E

Если стандартный ввод поступает с терминала, read использует Readline (см. раздел Редактирование командной строки) для получения строки. Readline использует текущие параметры редактирования (или параметры по умолчанию, если редактирование строк ранее не было активировано), но использует автодополнение Bash по умолчанию, включая программируемое автодополнение.

-i text

Если для чтения строки используется Readline, read помещает text в буфер редактирования до начала редактирования.

-n nchars

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

-N nchars

read возвращает управление после чтения ровно nchars символов, не дожидаясь полной строки ввода, если не встретит EOF или не истечёт время ожидания read. Символы-разделители во вводе не обрабатываются особым образом и не приводят к возврату read, пока не будет прочитано nchars символов. Результат не разбивается по символам из IFS; предполагается, что переменной будут присвоены именно прочитанные символы (за исключением обратной косой черты; см. параметр -r ниже).

-p prompt

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

-r

Если указан этот параметр, обратная косая черта не считается символом экранирования. Обратная косая черта считается частью строки. В частности, пара «обратная косая черта — символ новой строки» не может использоваться для продолжения строки.

-s

Тихий режим. Если ввод поступает с терминала, вводимые символы не отображаются.

-t timeout

Заставить read завершиться по тайм-ауту и вернуть ошибку, если полная строка ввода (или указанное число символов) не будет прочитана за timeout секунд. timeout может быть десятичным числом с дробной частью после десятичной точки. Этот параметр действует только в том случае, если read читает ввод с терминала, канала или другого специального файла; при чтении обычных файлов он не действует. Если у read истекает время ожидания, все частично прочитанные данные сохраняются в указанную переменную name, а команда возвращает статус больше 128. Если timeout равен 0, read немедленно возвращает управление, не пытаясь прочитать данные. В этом случае статус завершения равен 0, если данные доступны в указанном файловом дескрипторе или чтение вернёт EOF; в противном случае статус ненулевой.

-u fd

Читать ввод из файлового дескриптора fd, а не из стандартного ввода.

За исключением случая, когда delim — пустая строка, read игнорирует символы NUL во вводе.

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

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

readarray
readarray [-d delim] [-n count] [-O origin] [-s count]
    [-t] [-u fd] [-C callback] [-c quantum] [array]

Читать строки из стандартного ввода в индексированный массив array или из файлового дескриптора fd, если указан параметр -u.

Синоним для mapfile.

source
source [-p path] filename [arguments]

Синоним для . (см. раздел Встроенные команды оболочки Bourne).

type
type [-afptP] [name ...]

Указать, как интерпретировалось бы каждое name, если бы оно использовалось как имя команды.

Если используется параметр -t, type выводит одно слово: ‘alias’, ‘keyword’, ‘function’, ‘builtin’ или ‘file’, если name является соответственно псевдонимом, зарезервированным словом оболочки, функцией оболочки, встроенной командой оболочки или исполняемым файлом. Если name не найдено, type ничего не выводит и возвращает статус ошибки.

Если используется параметр -p, type возвращает имя исполняемого файла, который был бы найден при поиске в $PATH для name, либо ничего, если при использовании -t не было бы возвращено ‘file’.

Параметр -P принудительно выполняет поиск по пути для каждого name, даже если при использовании -t не было бы возвращено ‘file’.

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

Если используется параметр -a, type возвращает все места, содержащие команду с именем name. Сюда входят псевдонимы, зарезервированные слова, функции и встроенные команды, однако параметры поиска по пути (-p и -P) можно указать, чтобы ограничить вывод исполняемыми файлами. Если -a указан вместе с -p, type не просматривает таблицу хешированных команд и выполняет только поиск PATH для name.

Если используется параметр -f, type не пытается искать функции оболочки, как это делает встроенная команда command.

Статус возврата равен нулю, если найдены все аргументы name, и ненулевому значению, если хотя бы один из них не найден.

typeset
typeset [-afFgrxilnrtux] [-p] [name[=value] ...]

Команда typeset предоставляется для совместимости с оболочкой Korn. Это синоним встроенной команды declare.

ulimit
ulimit [-HS] -a
ulimit [-HS] [-bcdefiklmnpqrstuvxPRT] [limit]

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

-S

Изменить и вывести мягкое ограничение, связанное с ресурсом.

-H

Изменить и вывести жёсткое ограничение, связанное с ресурсом.

-a

Вывести все текущие ограничения; ограничения не устанавливаются.

-b

Максимальный размер буфера сокета.

-c

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

-d

Максимальный размер сегмента данных процесса.

-e

Максимальный приоритет планирования («nice»).

-f

Максимальный размер файлов, записываемых оболочкой и её дочерними процессами.

-i

Максимальное количество ожидающих сигналов.

-k

Максимальное количество выделяемых kqueue.

-l

Максимальный объём памяти, который можно заблокировать.

-m

Максимальный размер резидентного набора (многие системы не соблюдают это ограничение).

-n

Максимальное количество открытых файловых дескрипторов (большинство систем не позволяют задавать это значение).

-p

Размер буфера канала.

-q

Максимальное количество байтов в очередях сообщений POSIX.

-r

Максимальный приоритет планирования реального времени.

-s

Максимальный размер стека.

-t

Максимальное процессорное время в секундах.

-u

Максимальное количество процессов, доступных одному пользователю.

-v

Максимальный объём виртуальной памяти, доступной оболочке и, в некоторых системах, её дочерним процессам.

-x

Максимальное количество блокировок файлов.

-P

Максимальное количество псевдотерминалов.

-R

Максимальное время выполнения процесса реального времени до блокировки, в микросекундах.

-T

Максимальное количество потоков.

Если указано значение limit и не используется параметр -a, limit становится новым значением для указанного ресурса. Специальные значения limit hard, soft и unlimited обозначают соответственно текущее жёсткое ограничение, текущее мягкое ограничение и отсутствие ограничения. После установки жёсткое ограничение нельзя повысить пользователю, не являющемуся суперпользователем; мягкое ограничение можно увеличить до значения жёсткого ограничения. В противном случае ulimit выводит текущее значение мягкого ограничения для указанного ресурса, если не указан параметр -H. Если указано несколько ресурсов, перед значением выводятся имя ограничения и единица измерения, если она применима. При установке новых ограничений, если не указан ни -H, ни -S, ulimit устанавливает и жёсткое, и мягкое ограничения. Если параметр не указан, подразумевается -f.

Значения задаются с шагом 1024 байта, за исключением -t, для которого единицей измерения являются секунды; -R, для которого единицей измерения являются микросекунды; -p, для которого единицей измерения являются блоки по 512 байт; -P, -T, -b, -k, -n и -u, для которых значения не масштабируются; а также -c и -f, для которых в режиме POSIX (см. раздел Bash и POSIX) единицей измерения являются блоки по 512 байт.

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

unalias
unalias [-a] [name ... ]

Удалить каждое name из списка псевдонимов. Если указан параметр -a, удалить все псевдонимы. Возвращаемое значение истинно, если все указанные name являются определёнными псевдонимами. Псевдонимы описаны в разделе Псевдонимы.

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API