Загрузка данных


#!/usr/bin/env bash

# Запрос первого числа
read -p "Введите первое число: " num1
if ! [[ "$num1" =~ ^-?[0-9]+(\.[0-9]+)?$ ]]; then
    echo "Ошибка: первое значение не является числом"
    exit 1
fi

# Запрос второго числа
read -p "Введите второе число: " num2
if ! [[ "$num2" =~ ^-?[0-9]+(\.[0-9]+)?$ ]]; then
    echo "Ошибка: второе значение не является числом"
    exit 1
fi

# Запрос операции
read -p "Введите операцию (+, -, *, /): " op

case $op in
    +)
        result=$(echo "$num1 + $num2" | bc)
        echo "Результат: $num1 + $num2 = $result"
        ;;
    -)
        result=$(echo "$num1 - $num2" | bc)
        echo "Результат: $num1 - $num2 = $result"
        ;;
    \*)
        result=$(echo "$num1 * $num2" | bc)
        echo "Результат: $num1 * $num2 = $result"
        ;;
    /)
        if [[ $(echo "$num2 == 0" | bc) -eq 1 ]]; then
            echo "Ошибка: деление на ноль"
            exit 2
        fi
        result=$(echo "scale=4; $num1 / $num2" | bc)
        echo "Результат: $num1 / $num2 = $result"
        ;;
    *)
        echo "Ошибка: неизвестная операция '$op'"
        exit 3
        ;;
esac

exit 0