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