голосование
PHP
BASH
Javascript
HTML
Firebird
Майнинг
Программы
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
PostgreSQL
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Условие if-else BASH

Условие if-else применяется в скриптах BASH очень часто. Само условие имеет несколько странный вид [[ условие ]]. Обратите внимание на отступы. Без них условие работать не будет. Привожу список логических операторов для условия [[ ? ]]:

Список логических операторов, которые
используются для конструкции if-then-else-fi

операторописание
-zстрока пуста
-nстрока не пуста
=, (==)строки равны
!=строки неравны
-eqравно
-neнеравно
-lt,(< )меньше
-le,(<=)меньше или равно
-gt,(>)больше
-ge,(>=)больше или равно
!отрицание логического выражения
-a,(&&)логическое «И»
-o,(||)логическое «ИЛИ»

#!/bin/bash
if [[ $1 > 2 ]]
then
   # если соответствует условию [[ ? ]]
   echo $1" больше 2"
else
   # если не соответствует условию
   echo $1" меньше 2 или 2"
fi

Кому-то из вас покажется странным оператор равенства -eq. Попробуйте использовать привычные операторы > < =... Если не сработает такой подход, то воспользуйтесь оператором из моего списка.

Допустим у вас есть скрипт и необходима проверка пользователя. Если пользователь не root, то произойдёт остановка скрипта.


#!/bin/bash
if [ "$(whoami)" != 'root' ]; then
        echo "У вас нет прав для запуска $0."
        exit 1;
fi

Часто нужно проверять переменную на наличие значения. Если ничего в переменной нет, то можно остановить скрипт.


#!/bin/bash
if [ -n "$num" ]; then 
      "переменная что-то имеет и можно запустить другой процесс"
else
   echo "пустая переменная, останавливаем скрипт"	
   exit 0;
fi

Если переменная пустая, то её можно наполнить.


#!/bin/bash
if [ -z "$num" ]; then 
    echo "переменная пустая"
    num=1
else
   echo "num="$num
fi

Пустой переменной можно присвоить значение по умолчанию. Такая запись короче чем в предыдущем примере.


#!/bin/bash
# Записать DEFAULT, если аргументы командной строки отсутствуют
[ -z "$arg1" ] && arg1=DEFAULT 
echo $arg1
просмотры: 5414, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-02-21 09:37:47
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.