IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [680]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [357]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [171]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1340
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2016 » Декабрь » 10 » Разработка сценариев командной оболочки для начинающих. Часть 4: Условия и условные инструкции If-Then
    11:03
    Разработка сценариев командной оболочки для начинающих. Часть 4: Условия и условные инструкции If-Then

    Разработка сценариев командной оболочки для начинающих. Часть 4: Условия и условные инструкции If-Then

    Оригинал: The Beginner’s Guide to Shell Scripting 4: Conditions & If-Then Statements
    Автор: Yatri Trivedi
    Дата публикации: 18 августа 2011 г.
    Перевод: А.Панин
    Дата перевода: 22 октября 2016 г.

    Разработка сценариев командной оболочки для начинающих. Часть 4: Условия и условные инструкции If-Then

    В рамках нашей серии статей (см. 1, 2, 3) мы уже рассмотрели достаточное количество синтаксических конструкций сценариев командной оболочки для выполнения различных экспериментов. В сегодняшней статье мы рассмотрим еще одну конструкцию, а именно, условную инструкцию if-then.

    Что такое условия?

    В обычной жизни под условиями понимаются требования, после выполнения которых будут выполняться те или иные действия. Например, чтобы подключить мой ноутбук к сети Интернет, следует выполнить несколько условий, а именно, выбрать Интернет-провайдера, приобрести модем или маршрутизатор, включить ноутбук и так далее… Это очень простые условия и в том случае, если одно из них не будет выполнено, действие, заключающееся в подключении моего ноутбука к сети Интернет, также не будет выполнено.

    В мире компьютеров условные инструкции работают похожим образом. Мы можем проверить, совпадает или не совпадает одна строка с другой строкой, либо вообще проверить ее существование. Аналогично мы можем сравнить числовые аргументы для того, чтобы установить, является ли значение первого большим, меньшим или равным значению второго. Для того, чтобы выполнить какое-либо действие в том случае, если условие будет выполнено, мы можем использовать условную инструкцию "if-then". Формат этой инструкции достаточно прост:

    if УСЛОВИЕ
    then
    команда1
    команда2
    ...
    командаn
    fi
    

    Условные инструкции

    Давайте протестируем небольшой простой сценарий следующего содержания:

    if test $1 -gt $2
    then
    echo "$1 больше, чем $2"
    fi
    

    Результат исполнения сценария

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

    echo "Команда после условной инструкции if"
    

    Исполнение команд после условной инструкции

    А это некоторые флаги команды "test" для сравнения числовых значений, которые могут понадобиться вам:

    • -eq: равно
    • -ne: не равно
    • -lt: меньше
    • -le: меньше или равно
    • -gt: больше
    • -ge: больше или равно

    Сравнение строк

    Теперь, если мы модифицируем первую строку кода нашего сценария следующим образом:

    if test $1 = $2
    

    данная условная инструкция будет осуществлять сравнение двух строк. При этом следует учитывать важную особенность данной операции! При использовании знака "равно" ("=") осуществляется сравнение двух строк, а не числовых значений. Если вам нужно сравнить два числовых значения, вам придется использовать флаг "-eq" команды "test" по аналогии с тем, как мы использовали флаг "-gt" выше.

    Сравнение строк

    Теперь давайте выполним еще одну модификацию:

    if test $1 != $2
    

    Неравенство строк

    Добавление восклицательного знака ("!") эквивалентно приставке "не". Исходя из этого, следующая после условной инструкции команда будет исполняться лишь в том случае, если две строки не являются идентичными.

    А это список некоторых флагов команды сравнения строк, которые могут понадобиться вам:

    • строка: использование аргумента без каких-либо флагов позволяет проверить, является ли строка не пустой (null) или вообще не объявленной каким-либо образом
    • -n строка: аргумент с данным флагом позволяет проверить, является ли строка не пустой и объявлена ли она
    • -z строка: аргумент с данным флагом позволяет проверить, является ли строка пустой и объявлена ли она

    Что еще можно сказать насчет условной инструкции?

    Я признаю, что оригинальное название данного раздела ("What Else About If?") является всего лишь плохой игрой слов. Мы уже знаем, как выполнять команду, если заданное условие выполняется, но что делать в том случае, если нам понадобится выполнить другую команду в том случае, если условие не будет выполнено? В этом случае мы можем без каких-либо сложностей добавить вторую секцию блока "if-then" после ключевого слова "else"!

    if УСЛОВИЕ
    then
    команда1
    команда2
    ...
    командаn
    else
    команда1
    команда2
    ...
    командаn
    fi
    

    Давайте воспользуемся этой информацией для создания еще одного простого сценария:

    Сценарий для тестирования условной инстукции

    Очевидно, что перед каждой из строк сценария были оставлены необходимые отступы. Если вы рассмотрите код сценария более внимательно, вы наверняка обратите внимание на то, что в нем используются квадратные скобки ("[" и "]"), а не команда "test". На самом деле, в нашем случае они выполняют аналогичные функции, причем по ряду причин вы, скорее всего, столкнетесь с такими же скобками и в других сценариях командной оболочки, поэтому с данного момента мы будем использовать их.

    А это вывод данного сценария:

    Результат исполнения сценария

    Да, все настолько просто!

    Что делать дальше?

    Теперь, когда вы знаете о том, как использовать условную инструкцию "if-the-else", вы можете выполнять проверки тех или иных условий в своих сценариях командной оболочки. Например, вы можете создать сценарий, который будет выполнять расчет хэша файла по алгоритму md5 и сравнивать этот хэш с хэшем из специального файла с целью проверки их совпадения.

    Если вы хотите заняться самостоятельной работой, вы можете создать полезный сценарий с циклом for и с условными инструкциями вместо команд для чтения строк из файла…

    Мы приближаемся к наиболее интересным статьям серии "Разработка сценариев командной оболочки для начинающих". Если вы пропустили предыдущие статьи серии, вы можете перейти по ссылкам из следующего списка:

    1. Вводная информация о разработке сценариев командной оболочки
    2. Использование циклов for
    3. Дополнительные системные команды

    Если вы создавали или использовали сценарии командной оболочки с условными инструкциями "if-then-else" и циклами "for", поделитесь своими соображениями в разделе комментариев!

     

    http://rus-linux.net/MyLDP/consol/beginners-guide-to-shell-scripting-4-if-then.html

    Категория: Linux и не только | Просмотров: 505 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024