Руководство для начинающих BASH - Сравнение вещей
В предыдущей части учебника BASH мы рассмотрели условные утверждения.
Это руководство было очень длинным, но на самом деле только показало, как контролировать поток логики. В этом руководстве показаны различные способы сравнения переменных.
На приведенном выше рисунке показан первый пример в руководстве на этой неделе:
#! / Bin / Башname1 = "Гэри"name2 = "боб"если "$ name1" = "$ name2"затем эхо "совпадение имен"еще echo "имена не совпадают"фиВ приведенном выше сценарии я определил две переменные с именем name1 и name2 и присвоил им значения «gary» и «bob». Поскольку переменные содержатся между кавычками, они называются строковыми переменными, которые становятся более актуальными по мере продолжения учебника. Весь скрипт сравнивает значение $ name1 и $ name2, и если они соответствуют выходу, строка «имена совпадают», и если они не выводят строку «имена не совпадают». Кавычки вокруг переменных $ name1 и $ name2 важны, потому что если значение любого из них не было установлено, скрипт будет работать. Например, если $ name1 никогда не был установлен, вы бы сравнивали «» с «bob». Без кавычек вы останетесь с = «bob», что явно не удастся. Вы также можете использовать обозначение! = Для определения не равным следующим образом: В приведенном выше примере тест сравнивает те же две строки и задает вопрос, идет ли gary перед bob в алфавите? Ясно, что ответ отрицательный. Скрипт вводит меньше оператора (<). Поскольку меньше, чем оператор, также используется для перенаправления, вам нужно избегать его с помощью косой черты (), чтобы он имел в виду меньше, чем почему, в приведенном выше скрипте я сравнивал «$ name1» <"$ name2". Противоположность меньше, чем, очевидно, больше. Вместо использования <use >. Например Если вы хотите проверить, имеет ли переменная значение, вы можете использовать следующий тест: В приведенном выше скрипте я тестировал, было ли задано значение $ name2, и если это не сообщение «Нет bob, никогда не появлялось bob». На прошлой слайде мы рассмотрели, была ли установлена переменная или нет. Иногда, хотя переменная могла быть установлена, но на самом деле она может не иметь значения. Например: Чтобы проверить, имеет ли переменная значение или нет (т. Е. Имеет длину 0), используйте -z следующим образом: В приведенном выше скрипте я установил $ name1 в строку нулевой длины, а затем сравнил его с помощью -z. Если $ name1 равно нулю, будет отображаться сообщение «gary вышло на вечер». До сих пор все сравнения были для строк. Как насчет сравнения чисел? В приведенном выше примере показан пример сравнения двух чисел: Чтобы установить переменную как число, просто установите ее без кавычек. Затем вы можете сравнить числа с знаком равенства. Однако я предпочитаю использовать следующий оператор для сравнения двух чисел: Если вы хотите сравнить, меньше ли число, чем другое число, вы можете использовать меньше оператора (<). Как и в случае с строками, вам нужно сбежать от оператора с косой чертой. ( <). Лучшим способом сравнения чисел является использование следующих обозначений: Например: Наконец, для этого руководства, если вы хотите проверить, отличаются ли два числа, вы можете использовать либо меньше, чем больше операторов (<>) или -ne следующим образом: Если вы пропустили первые три части этого руководства, вы можете найти их, нажав на следующие ссылки: В следующей части руководства я буду покрывать арифметику. Руководство для начинающих BASH - Сравнение строк
Руководство для начинающих BASH - Сравнение строк
Руководство для начинающих BASH - Сравнение строк
Руководство для начинающих BASH - Сравнение номеров
Руководство для начинающих BASH - Сравнение номеров
Руководство для начинающих BASH - Сравнение номеров
Руководство для начинающих BASH - Операторы сравнения - Резюме