Передача параметров скрипту

Вы уже видели, что программы в 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 #@