doc:sysadmin:shell_scripts
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияСледующая версияСледующая версия справа и слева | ||
doc:sysadmin:shell_scripts [d.m.Y H:i] – dbehterev | doc:sysadmin:shell_scripts [d.m.Y H:i] – dbehterev | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Shell (sh) и Bourn Again Shell (bash) примеры скриптов ====== | ||
+ | ===== Скрипт sh #1 - проверка условий ===== | ||
+ | |||
+ | Предположим, | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | |||
+ | result=`/ | ||
+ | |||
+ | / | ||
+ | |||
+ | # 0 - yes, we have equality, 1 - no | ||
+ | if [ $? -eq 0 ] # we have $result = "" | ||
+ | then | ||
+ | # some actions | ||
+ | fi | ||
+ | </ | ||
+ | Сначала мы перенаправляем вывод route на вход команды awk, которая проверяет соответствие строк регулярному выражению /^0/ (все, что начинается с 0 как раз и будет записью маршрута по-умолчанию) и выводит всю совпавшую строку (разделители полей в awk по-умолчанию пробелы). Т.е. если у нас есть в системе маршрут по-умолчанию, | ||
+ | Далее мы проверяем переменную окружения $? на предмет равенства 0. Предопределенная переменная окружения $? хранит результат выполнения последней команды, | ||
+ | |||
+ | Предположим, | ||
+ | < | ||
+ | ping_check=`/ | ||
+ | result=`echo $ping_check | / | ||
+ | / | ||
+ | # if we have string that contain "0 received" | ||
+ | if [ $? -eq 1 ] # we have $result = "" | ||
+ | # some actions | ||
+ | fi | ||
+ | </ | ||
+ | Мы выполняем отправку 1 эхо-пакета и дальше проверяем, | ||
+ | |||
+ | TAG: {{tag> sysadmin shell_scripts}} | ||
+ | |||
+ | ~~DISCUSSION~~ |
/var/www/wiki.itcall.ru/data/pages/doc/sysadmin/shell_scripts.txt · Последнее изменение: d.m.Y H:i — dbehterev