#!/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