Как передать параметры в bash-скрипт?

Вопрос: Как передать параметры командной строки в bash-скрипт, чтобы можно было его вызвать так: script.sh parameter1 parameter2?

Ответ:

Параметры командной строки можно проанализировать в скрипте, если использовать позиционные параметры, те параметры, которые доступны в скрипте через специальные предопределенные переменные, обозначаемые следующим образом: $<0-9>.

$0 — это сам вызываемый скрипт
$1-9 — это параметры, которые будут указаны после скрипта при его вызове. $1 — первый параметр, $2 — второй и так далее.

Разбор позиционных параметров обычно производят при помощи структуры case:

case "$1" in
<значение-1>) <операторы> ;;
<значение-2>) <операторы> ;;
...
*) <операторы> ;;
esac

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

Например, у нас есть такой вызов:

script.sh param1 param2 param3 param4 param5 param6

После вызова команды «shift 2» позиционные параметры будут сдвинуты так же, как и при следующем вызове:

script.sh param3 param4 param5 param6