# cp./hello /usr/bin
22.4. Использование переменных в собственных сценариях
В любом серьезном сценарии вы не обойдетесь без использования
Для объявления переменной используется следующая конструкция:
переменная=значение
Пример объявления переменной:
ADDRESS=www.dkws.org.ua
echo $ADDRESS
Обратите внимание на следующие моменты:
□ при объявлении переменной знак доллара не ставится, но он обязателен при использовании переменной;
□ при объявлении переменной не должно быть пробелов до и после знака =.
Значение для переменной указывать вручную не обязательно — его можно прочитать с клавиатуры:
read ADDRESS
или со стандартного вывода программы:
ADDRESS='hostname'
Чтение значения переменной с клавиатуры осуществляется с помощью инструкции
В Linux часто используются
□
□
□
□
Для установки собственной переменной окружения используется команда
# присваиваем переменной значение
$ADDRESS=www.dkws.org.ua
# экспортируем переменную — делаем ее переменной окружения
# после этого переменная ADDRESS будет доступна в других сценариях export $ADDRESS
22.5. Передача параметров сценарию
Очень часто сценариям нужно передавать различные параметры, например, режим работы или имя файла/каталога. Для передачи параметров используются следующие специальные переменные:
□
□
□
Рассмотрим небольшой пример обработки параметров сценария. Я понимаю, что конструкцию
Думаю, приведенных комментариев достаточно, поэтому подробно рассматривать работу сценария из листинга 22.2 не будем.
22.6. Массивы и bash
Интерпретатор bash позволяет использовать
ARRAY[0]=1
ARRAY[1]=2
echo $ARRAY[0]
22.7. Циклы
Как и в любом языке программирования, в bash можно использовать
Синтаксис цикла
for переменная in список do
команды
done
В цикле при каждой итерации переменной будет присвоен очередной элемент списка, над которым будут выполнены указанные команды. Чтобы было понятнее, рассмотрим небольшой пример:
for n in 1 2 3;
do
echo $n;
done
Обратите внимание — список значений и список команд должны заканчиваться точкой с запятой.
Как и следовало ожидать, наш сценарий выведет на экран следующее:
1
2
3
Синтаксис цикла
while условие
do
команды
done
Цикл
n=1
while [$n — lt 4]
do
echo "$n"
n=$(($n+1));
done
22.8. Условные операторы
В bash доступны два
Оператор
Самая ответственная задача — это правильно составить условие. Условия записываются в квадратных скобках. Вот пример записи условий:
# переменная N = 10
[N==10]
# переменная N не равна 10
[N!=10]
Операции сравнения указываются не с помощью привычных знаков > или <, а с помощью следующих выражений: