Специальные переменные в оболочках Unix? [закрытый]

11
задан jww 23 October 2019 в 15:37
поделиться

3 ответа

Здесь: http://sillydog.org/unix/scrpt/scrpt2.2.2.php

$ 1 - $ 9 эти переменные являются позиционные параметры.

$ 0 имя команды в настоящее время выполняется.

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

$? статус выхода последняя выполненная команда задано как десятичная строка. Когда команда завершается успешно, возвращает статус выхода 0 (ноль), в противном случае возвращается ненулевой выход положение дел.

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

$! идентификатор процесса последняя команда запущена в фон.

$ - текущие параметры предоставлен этому призыву оболочки.

$ * строка, содержащая все аргументы shell, начиная с $ 1.

$ @ то же, что и выше, за исключением при цитировании.

Дополнительные ресурсы:

19
ответ дан 3 December 2019 в 05:11
поделиться

Из проекта документации Linux (с дополнительной переменной $ _):

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

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

$ # Заменяется на количество позиционных параметров в десятичном формате.

$? Расширяется до состояния выхода последнего выполненного конвейера переднего плана.

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

$$ Заменяется на идентификатор процесса оболочки.

$! Заменяется на идентификатор процесса последней выполненной фоновой (асинхронной) команды.

$ 0 Заменяется на имя оболочки или сценария оболочки.

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

1
ответ дан 3 December 2019 в 05:11
поделиться

Пояснения и примеры находятся в этом специальных параметрах Bash, объясненных с помощью 4 Примеры сценариев оболочки для: $ * , $ @ , $ # , $$ , $! , $? , $ - , $ _ .

0
ответ дан 3 December 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: