Вы уже видели, что программы в Linux можно запускать с ключами и параметрами. При этом, при запуске программы с разными параметрами, программа будет вести себя по-разному. Например:
‘ls’ нам выведет список файлов,
‘ls -l’ выведет список файлов с подробной информацией,
‘ls —help’ выведет справку.
Точно также и в скриптах мы можем использовать параметры. Создадим скрипт script.sh со следующим содержимым:
#!/bin/bash echo "Hello World!"
дадим ему права на исполнение
chmod +x script.sh
и запустим его с параметрами:
./script.sh Артём Володя Диана Илья
Ура! Скрипт работает, но что делать с параметрами?
В bash каждый переданный параметр записывается в переменную, которая может использоваться в скрипте:
$1 — первый параметр (Артём)
$2 — второй параметр (Володя)
$3 — третий параметр (Диана)
$4 — четвёртый параметр (Илья)
Отредактируем скрипт следующим образом:
#!/bin/bash echo "Привет, $1, $2, $3 и $4!"
И снова запустим с теми же параметрами. Что видите?
А теперь создадим скрипт для расчёта площади круга, передавая скрипту в качестве параметра радиус.
Мы помним, что площадь круга вычисляется по формуле:
S=π *r2
Число π в скрипте мы запишем, как 3.14, для вычисления будем использовать калькулятор bc.
Пишем скрипт:
#!/bin/bash echo "Площадь круга с радиусом $1:" echo "3.14*$1^2"|bc
Дополнительные переменные для работы с параметрами
Для работы с параметрами используются специальные переменные:
$# — количество переданных параметров
$@ — список всех переданных скрипту переменных
Создайте следующий скрипт и поэкспериментируйте, передавая ему параметры:
#!/bin/bash echo $# echo #@