Я написал сценарий оболочки с футляром с кодом и принимает варианты 1-5 и выполняет операции с переменными соответственно.Shell Scripting. Логическая ОШИБКА
Мой код работает отлично, хотя это небольшое изменение, которое я хотел бы внести в свой код.
Когда код Входит в аргумент аргумента по умолчанию, после этого он по-прежнему запрашивает «Ввести два номера:», а затем печатает «Недопустимый параметр», который является неприемлемым. При этом код должен останавливаться после недопустимой опции.
Я только что узнал shell-скрипты, поэтому я не так хорош в этом.
Я копия вставили мой исходный код ниже:
#! /bin/bash
echo "1. Add
2.Substract
3.Divide
4.Multiply
5.Quit"
read -p "Enter an option:" option
read -p "Enter two numbes: " first second
case $option in
1)income=$[ first + second ];;
2)income=$[ first - second ];;
3)income=$[ first/second ];;
4)income=$[ first * second ];;
*)echo "Invalid Option";
exit 1;;
esac
echo "Income=$income"
exit 0
Я попытался использовать, если, еще ..., но это не служит цели. * Альтернативный подход: *
#! /bin/bash
echo "1. Add
2.Substract
3.Divide
4.Multiply
5.Quit"
read -p "Enter an option:" option
if [ option > 5 ]
then
echo "Invalid Option"
exit 1
else
read -p "Enter two numbes: " first second
fi
case $option in
1)income=$[ first + second ];;
2)income=$[ first - second ];;
3)income=$[ first/second ];;
4)income=$[ first * second ];;
*)echo "Invalid Option";
exit 1;;
esac
echo "Income=$income"
exit 0
Спасибо, что я попробую выбрать и отредактировать периоды :) ... +1. Строка shebang отлично работает с пространством. – Pavitar