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