Изучаем BASH (Инструкции)

Автор: Admin

Дата:2012-12-11

Инструкции BASH

Изучаем BASH (Основы)

Применяются для логического управления данными, когда необходимо обеспечить логическую последовательность выполнения команд при тех или иных условиях.

В Bash после инструкции if выполняеются именно команды и в том случае если эта команда равна статусу ноль, выполняется другая команда из then.

Для примера можно создать два файлика поместив в них следующее:

1) vi if-then1.sh

#!/bin/bash
if ifconfig eth1
then
        echo "work"
fi


2) vi if-then2.sh

#!/bin/bash
if ifconfig eth2
then
        echo "work"
fi
echo "no work"

В данном случае мы проверили как отрабатываются команды.

Примечание.

Выполните команду

vi if-then3.sh

#!/bin/bash
if ifconfig eth1
then
        echo "work"
fi
 /etc/init.d/network restart

Заметьте, что инструкция if-the определяет успешность выполнения команды, после чего продолжает выполнять другие команды если первая была выполнена успешно. В этом случае какой бы результат нас не ждал с интерфейсом Eth1 все равно выполнится команды по перезагрузке сетевых интерфейсов.

Инструкция if-then-else

Ее суть достаточно проста:

ЕСЛИ команда после IF имеет статус выхода ноль
ТОГДА выполняется команды за THEN
ИНАЧЕ выполняется команда следующая за ELSE

vi openvpn.sh

#!/bin/bash
if ifconfig tap0
then
        echo "work"
else
/etc/init.d/openvpn restart
fi

При помощи этого можно проверить работает ли у нас интерфейс OpenVPN под именем tap0.
ЕСЛИ команды ifconfig tap0 возвращает ноль
ТОГДА выводим "WORK"
ИНАЧЕ перестартуем OpenVPN

Статус выхода ноль - успешно завершенная команда.

Ну и по традиции последней идет проверка нескольких условий (одно за другим)

1 Вариант

#!/bin/bash
if [ $USER = aroma ]
then
echo "Hello aroma"
fi
if [ $USER = root ]
then
echo "Hello root"
fi
if [ $USER = sem ]
then
"Hello sem"
fi

2 Вариант

#!/bin/bash
if [ $USER = aroma ]
then
echo "Hello aroma"
elif [ $USER = root ]
then
echo "Hello root"
elif [ $USER = sem ]
then
"Hello sem"
fi

3 Вариант - команда CASE

#!/bin/bash
case $USER in
aroma) echo "Привет aroma";;
root) echo "Привет root";;
sima) echo "Привет sem";;
*) echo "Вы не имеете право работать с этой базой";;
esac

Далее >>> Проверка условий в Bash

Количество просмотров: 5734

Комментарии к статье:

Автор комментария: adm
Дата: 2017-03-01

--> Ivan. Примеры все работают.

Автор комментария: Ivan
Дата: 2017-02-28

Вам сложно было проверить примеры? Просто попробуйте их запустить. В помойку таких учителей.

Добавить комментарий

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2024