Здесь: http://sillydog.org/unix/scrpt/scrpt2.2.2.php
$ 1 - $ 9 эти переменные являются позиционные параметры.
$ 0 имя команды в настоящее время выполняется.
$ # количество позиционных аргументы в пользу этого вызов оболочки.
$? статус выхода последняя выполненная команда задано как десятичная строка. Когда команда завершается успешно, возвращает статус выхода 0 (ноль), в противном случае возвращается ненулевой выход положение дел.
$$ номер процесса эта оболочка - полезна для в том числе в именах файлов, чтобы сделать их уникальными.
$! идентификатор процесса последняя команда запущена в фон.
$ - текущие параметры предоставлен этому призыву оболочки.
$ * строка, содержащая все аргументы shell, начиная с $ 1.
$ @ то же, что и выше, за исключением при цитировании.
Дополнительные ресурсы:
Из проекта документации Linux (с дополнительной переменной $ _):
$ *
Расширяется до позиционных параметров, начиная с единицы. Когда раскрытие происходит в двойных кавычках, оно расширяется до одного слова со значением каждого параметра, разделенным первым символом специальной переменной IFS.
$ @
Расширяется до позиционных параметров, начиная с единицы. Когда раскрытие происходит в двойных кавычках, каждый параметр заменяется отдельным словом.
$ #
Заменяется на количество позиционных параметров в десятичном формате.
$?
Расширяется до состояния выхода последнего выполненного конвейера переднего плана.
$ -
Дефис заменяется текущими флагами параметров, указанными при вызове встроенной командой set или установленными самой оболочкой (например, -i).
$$
Заменяется на идентификатор процесса оболочки.
$!
Заменяется на идентификатор процесса последней выполненной фоновой (асинхронной) команды.
$ 0
Заменяется на имя оболочки или сценария оболочки.
$ _
Переменная подчеркивания устанавливается при запуске оболочки и содержит абсолютное имя файла выполняемой оболочки или сценария, как передано в списке аргументов. Впоследствии он расширяется до последнего аргумента предыдущей команды после раскрытия. Он также устанавливается равным полному имени каждой выполняемой команды и помещается в среду, экспортированную для этой команды. При проверке почты этот параметр содержит имя почтового файла.
Пояснения и примеры находятся в этом специальных параметрах Bash, объясненных с помощью 4 Примеры сценариев оболочки для: $ *
, $ @
, $ #
, $$
, $!
, $?
, $ -
, $ _
.