Spec-Zone.ru › Bash

Специальные параметры

​

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

*

($*) Раскрывается в позиционные параметры, начиная с первого. Если раскрытие происходит не в двойных кавычках, каждый позиционный параметр раскрывается в отдельное слово. В контекстах, где выполняется раскрытие слов, эти слова подвергаются дальнейшему разбиению на слова и подстановке имён файлов. Если раскрытие происходит в двойных кавычках, оно раскрывается в одно слово, в котором значения параметров разделены первым символом переменной IFS. То есть "$*" эквивалентно "$1c$2c…", где c — первый символ значения переменной IFS. Если IFS не задана, параметры разделяются пробелами. Если IFS имеет значение null, параметры объединяются без разделителей.

@

($@) Раскрывается в позиционные параметры, начиная с первого. В контекстах, где выполняется разбиение на слова, каждый позиционный параметр раскрывается в отдельное слово; если раскрытие происходит не в двойных кавычках, эти слова подвергаются разбиению на слова. В контекстах, где разбиение на слова не выполняется, например в части оператора присваивания, содержащей значение, параметр раскрывается в одно слово, в котором каждый позиционный параметр отделён пробелом. Если раскрытие происходит в двойных кавычках и выполняется разбиение на слова, каждый параметр раскрывается в отдельное слово. То есть "$@" эквивалентно "$1" "$2" …. Если раскрытие в двойных кавычках происходит внутри слова, раскрытие первого параметра объединяется с раскрытием начальной части исходного слова, а раскрытие последнего параметра — с раскрытием конечной части исходного слова. Если позиционных параметров нет, "$@" и $@ раскрываются в пустую строку (то есть удаляются).

#

($#) Раскрывается в число позиционных параметров в десятичной системе счисления.

?

($?) Раскрывается в код завершения последней выполненной команды.

-

($-, дефис.) Раскрывается в текущие флаги параметров, заданные при вызове, встроенной командой set или самой оболочкой (например, параметр -i).

$

($$) Раскрывается в ID процесса оболочки. В подоболочке раскрывается в ID процесса вызвавшей её оболочки, а не подоболочки.

!

($!) Раскрывается в ID процесса задания, последним помещённого в фоновый режим, независимо от того, было ли оно запущено как асинхронная команда или с помощью встроенной команды bg (см. Встроенные команды управления заданиями).

0

($0) Раскрывается в имя оболочки или сценария оболочки. Это значение задаётся при инициализации оболочки. Если Bash вызывается с файлом команд (см. Сценарии оболочки), $0 получает имя этого файла. Если Bash запускается с параметром -c (см. Вызов Bash), $0 получает первый аргумент после строки, которую нужно выполнить, если такой аргумент есть. В противном случае ему присваивается имя файла, использованного для вызова Bash, переданное как аргумент ноль.

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/Special-Parameters.html

Spec-Zone.ru

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