Добавить в корзинуПозвонить
Найти в Дзене
Old Programmer

Уроки по языку программирования bash от Old Programmer. Number 7

Доброго времени суток на канале Old Programmer. Канале о программировании и программистах. Сегодня продолжение разговора о программировании на языке bash. Несколько полезных ссылок для вас Язык программирования bash. Условные конструкции Сегодня продолжаем изучение языка программирования bash. Тема сегодняшнего урока: Сравнения чисел и строк. Другими словами речь пойдет об условных конструкциях. Кроме того познакомимся с вводом данных с клавиатуры. Вот начнем как раз с последнего. Для ввода данных с клавиатуры используется оператор read. Например read a b c клавиатуры вводятся три величины (через пробелы). На самом деле не важно, являются они числами или строками. Как мы уже неоднократно подчеркивали в bash все является последовательностью символов. Все зависит от нашей дальнейшей интерпретации. Если во вводимых строках есть пробелы, то, естественно заключать их в кавычки. В противном случае для read ваш ввод будет не понятен. Как вы уже, наверное, догадались для сравнения

Доброго времени суток на канале Old Programmer. Канале о программировании и программистах. Сегодня продолжение разговора о программировании на языке bash.

Несколько полезных ссылок для вас

Язык программирования bash. Ссылки на ресурсы
Old Programmer29 марта 2022
Список разделов канала Old Programmer, канала о программировании и программистах
Old Programmer27 мая 2021
Программирование и в шутку и всерьез
Программирование и в шутку и всерьез

Язык программирования bash. Условные конструкции

Сегодня продолжаем изучение языка программирования bash. Тема сегодняшнего урока: Сравнения чисел и строк. Другими словами речь пойдет об условных конструкциях. Кроме того познакомимся с вводом данных с клавиатуры. Вот начнем как раз с последнего. Для ввода данных с клавиатуры используется оператор read. Например

read a b c

клавиатуры вводятся три величины (через пробелы). На самом деле не важно, являются они числами или строками. Как мы уже неоднократно подчеркивали в bash все является последовательностью символов. Все зависит от нашей дальнейшей интерпретации. Если во вводимых строках есть пробелы, то, естественно заключать их в кавычки. В противном случае для read ваш ввод будет не понятен.

Как вы уже, наверное, догадались для сравнения чисел и строк придется использовать разные ключевые слова. Остановимся в начале на сравнении числе. Вот ключевые слова для чисел.

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

Для использования этих ключевых слов (сравнений) в bash имеется условная конструкция. Она имеет три разновидности: не полная условная конструкция if...fi, полная условная конструкция if...else...fi, условная конструкция с множественным условием if...elif...else...fi. Кроме того, условные конструкции могут быть вложенными друг в друга.

В следующем примере представлены все четыре вида условных конструкций.

Как видим, условия заключаются в квадратные скобки. Особо отметим, что пробелы внутри квадратных скобок обязательны. Укажем, что в литературе и Интернет можно встретить аналогичные конструкции, но с двойными квадратными скобками. Это так называемый новый синтаксис. Кроме этого можно увидеть также и синтаксис с двумя круглыми скобками. Не вдаваясь в детали здесь и далее мы будем использовать одинарные квадратные скобки.

В выше описанных конструкциях можно использовать сложные условия, используя логические связки && (И) и || (ИЛИ).

Пример поиска максимального числа из трех с использованием связки «И».

Строки, как известно сравниваются по-символьно, с учетом их кодов. Для сравнения строк используются следующие средства сравнения. Обратим внимание, что экранирование знаков > и < обязательно.

= (==) - равенство строк
!= - неравенство строк
\> больше (экранирование обязательно)
\< меньше
-n проверка, что строка пустая

Пример сравнения строк

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

До скорого!

Вы там держитесь. Счастья и здоровья вам. И до скорых встреч на канале Old Programmer. И не забудьте комментировать, ставить лайки и подписываться.

Программирование и в шутку и всерьез
Линукс, однако
Линукс, однако

#программирование #программисты #bash #языки программирования #linux