Переменные Shell - аргументы процедур
Это особый тип переменных, именуемых цифрами.
Пример:
$ dothis grapes apples pears (процедура).
Тогда позиционные параметры (аргументы) этой команды доступны по именам:
$1 = `grapes` $2 = `apples` $3 = `pears`
и т.д. до $9. Однако есть команда shift, которая сдвигает имена на остальные аргументы, если их больше 9 (окно шириной 9).
Другой способ получить все аргументы (даже если их больше 9):
$* , что эквивалентно $1$2 ...
Количество аргументов присваивается другой переменной: $# (диез). Наконец, имя процедуры - это $0; переменная $0 не учитывается при подсчете $#.