При запуске программы проверяются
условия:
- право на исполнение
- является ли файл бинарным
исполняемым файлом
- если это текстовый файл, есть ли
в первой строке путь к интерпретатору
При использовании bash первая строка
shell script должна быть такой:
#! /bin/bash
Пример использования переменной:
PERM=value
echo $PERM
Три способа определения массивов:
MASS[0]=value
MASS=([0]=value1 [5]=value2)
MASS=(value1 value2)
Получение значения элемента массива:
${MASS[0]}
Получение значений всех элементов массива:
${MASS[*]} или ${MASS[@]}
Для просмотра всех переменных окружения и функций можно воспользоваться командой set.
Программа env покажет только переменные, а export — только переменные помеченные как
экспортированные. Удаление переменных происходит при помощи оператора unset.
Оператор read
read [переменная ...]
если оператор read вызывать без указания переменной, он все данные, введенные
пользователем, поместит в переменную по умолчанию — REPLY
В подстановке используется то, что
программа будет выводить на
стандартный вывод.
Два варианта записи подстановки:
`program`
$(program)
В shell script используется ограниченный
набор арифметических операций:
+ - * / и круглые скобки.
Для подстановки значения
арифметических выражений
используется:
$(( выражение ))
Если значение переменной,
используемой в арифметическом
выражении, не является целым числом,
то её значение считается равным 0.
Оператор if
if условие
then
список операторов
[else
список операторов ]
[elif условие
список операторов ]
fi
test [опции] условия ...
Программа test предназначена для
проверки следующих типов условий:
- сравнение различных значений,
- проверка типов и наличия файлов,
- проверка логических условий.
Программа может проверить два типа логических условий И (AND) и ИЛИ (OR).
● Выражение1 -а Выражение2 — возвращает истину, если истинно и Выражение1 и
Выражение2.
● Выражение1 -о Выражение2 — возвращает истину, если истинно или Выражение1
или Выражение2.
● Оператор ! инвертирует значение логического выражения.
● Сравнение чисел происходит при помощи следующих операторов:
● число1 -eq число2 — истина, если числа равны.
● число1 -ne число2 — истина, если числа не равны.
● число1 -gt число2 — истина, если первое число больше второго.
● число1 -ge число2 — истина, если первое число больше или равно второму.
● число1 -lt число2 — истина, если первое число меньше второго.
● число1 -le число2 — истина, если первое число меньше или равно второму.
● Сравнение строк:
● -n строка — истина, если строка имеет не нулевую длину.
● -z строка — истина, если строка имеет нулевую длину
● строка1 = строка2 — истина, если строка1 идентична строке2.
● Проверка существования и типов файлов:
● -e /путь/к/файлу — истина, если файл существует.
● -f /путь/к/файлу — истина, если файл существует и является обыкновенным
файлом.
● -d /путь/к/файлу — истина, если файл существует и является директорией.
● -L /путь/к/файлу — истина, если файл существует и является символьной
ссылкой.
● -r /путь/к/файлу — истина, если файл существует и доступен для чтения.
● -w /путь/к/файлу — истина, если файл существует и доступен на запись.
● -x /путь/к/файлу — истина, если файл существует и доступен на выполнение.
● -s /путь/к/файлу — истина, если файл существует и имеет не нулевую длину.
&& ― логическое И.
|| ― логическое ИЛИ.
Оператор case
case строка in
шаблон)
список операторов
;;
[ шаблон)
список операторов
[;;] ]
esac
Оператор for
for переменная [ in список ]
do
список операторов
done
Получение данных из внешних файлов
for I in `cat ./sample13-data`
Оператор while
while условие
do
набор операторов
done
Оператор select
select переменная in список
do
набор операторов
done
Оператор точка и функции
Оператор точка позволяет включать код, находящийся в другом файле.
function sample
{
Тело функции.
}
sample()
{
Тело функции.
}
Комментариев нет:
Отправить комментарий