Вопрос: Как передать параметры командной строки в 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