Menu
CoddyTech

Оператор if

Часть раздела Основы путешествия по Terminal на Coddy. Урок 70 из 82.

До сих пор ваши скрипты выполняли каждую команду сверху вниз без принятия решений. Но что, если вы хотите, чтобы ваш скрипт выполнял разные действия в зависимости от определённых условий? Здесь на помощь приходит оператор if.

Инструкция if позволяет вашему скрипту принимать решения. Она проверяет, является ли условие истинным, и, если это так, выполняет блок кода. Вот базовая структура:

#!/bin/bash
age=18
if [ $age -ge 18 ]; then
    echo "You are an adult"
fi

Условие помещается в квадратные скобки с пробелами вокруг него. Ключевое слово then обозначает начало выполняемого кода, а fi (если прочитать его наоборот) завершает инструкцию.

Вы также можете обработать случай, когда условие ложно, используя else:

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

Распространённые операторы сравнения для чисел включают -eq (равно), -ne (не равно), -gt (больше), -lt (меньше), -ge (больше или равно) и -le (меньше или равно). Для строк используйте = для проверки равенства и != для проверки неравенства.

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

challenge icon

Задание

Легко

Создайте shell-скрипт с именем check_score.sh, который использует оператор if для проверки результата теста.

Ваш скрипт должен:

  1. Начинаться со строки shebang (#!/bin/bash)
  2. Создавать переменную с именем score со значением 75
  3. Использовать оператор if, чтобы проверить, больше ли результат или равен 70
  4. Если это так, вывести: You passed!
  5. Если это не так, вывести: You failed.

Сделайте скрипт исполняемым и запустите его. Поскольку результат равен 75, вывод должен быть таким:

You passed!

Подсказка: Не забудьте использовать -ge для сравнения «больше или равно», добавить пробелы внутри квадратных скобок и завершить оператор if с помощью fi.

Здесь нет редактора файлов, поэтому создайте файл непосредственно из shell с помощью here-документа: введите cat > check_score.sh << 'EOF', затем строки скрипта и последнюю строку, содержащую только EOF.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal