Подтвердить что ты не робот

Что делать? $0 $1 $2 означает в оболочке script?

Я часто встречаю $? $0 $1 $2 etc.... в сценариях оболочки, я знаю, что $? возвращает статус выхода последней команды

echo "this will return 0"
echo $?

но что делают другие? что они называли и есть ли еще? возможно, как $3 $4 $5...

4b9b3361

Ответ 1

Это позиционные аргументы script.

Выполнение

./script.sh Hello World

Сделает

$0 = script.sh
$1 = Hello
$2 = World

Ответ 2

Они называются Позиционные параметры.

3.4.1 Позиционные параметры

Позиционный параметр - это параметр, обозначаемый одной или несколькими цифрами, отличными от одной цифры 0. Позиционные параметры назначаются из аргументов оболочки при ее вызове и могут быть переназначены с помощью установленной встроенной команды. Позиционный параметр N может быть указан как ${N}, или как $N, когда N состоит из одной цифры. Позиционные параметры не могут присваиваться операторам присваивания. Сложные и смещенные встроенные функции используются для их установки и отмены (см. Команды встроенных команд). Позиционные параметры временно заменяются при выполнении функции оболочки (см. Раздел "Функции оболочки" ).

Если расширенный позиционный параметр, состоящий из более чем одной цифры, должен быть заключен в фигурные скобки.