在此基础上加入不合法输入的报错反馈
时间: 2024-03-08 12:46:09 浏览: 165
好的,为了让脚本更加健壮,我们需要加入一些错误处理的代码。以下是更新后的脚本:
```shell
#!/bin/bash
# 输入参数合法性检查函数
check_input() {
if ! [[ "$1" =~ ^[0-9]+$ ]]; then
echo "输入的参数不是一个正整数,请重新输入!"
exit 1
fi
}
# 主程序
echo "请输入斐波那契数列的项数n:"
read n
# 检查输入参数的合法性
check_input $n
a=0
b=1
sum=0
echo "斐波那契数列前$n项为:"
for (( i=1; i<=n; i++ ))
do
echo $a
sum=`expr $sum + $a`
fn=`expr $a + $b`
a=$b
b=$fn
done
echo "斐波那契数列前$n项之和为:$sum"
```
在这个更新后的脚本中,我们添加了一个名为`check_input()`的函数来检查用户输入的参数是否合法。如果输入不是正整数,它将打印一个错误消息并退出程序。然后,在主程序中,我们在读取用户输入后立即调用这个函数来检查输入的合法性。
当用户输入不是正整数时,脚本将打印错误消息并退出。否则,它将继续计算并显示斐波那契数列前n项的值和前n项之和。这样,我们就可以避免因用户输入错误而导致脚本崩溃的情况。
阅读全文