【发布时间】:2011-04-26 03:14:32
【问题描述】:
我编写了一个带有 switch case 的 shell 脚本,并采用了选项 1-5 并对变量进行了相应的操作。
我的代码运行良好,但我想对我的代码进行一些小改动。
当代码输入默认case参数后,仍然提示“输入两个数字:”,然后打印“无效选项”,这是不合适的。理想情况下,代码应该在无效选项后停止。
我刚刚学习了 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
我尝试使用 if,else ...但这并没有达到目的。 *替代方法:*
#! /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
【问题讨论】: