与用户交互(read -p )在执行脚本时,输入任意一个正整数,计算,从0到这个正整数之间的偶数和
时间: 2024-10-11 09:03:43 浏览: 30
当你需要在bash脚本中让用户输入一个正整数,并计算从0到该数的所有偶数之和时,可以使用`read -p`函数获取用户的输入,然后通过for循环迭代并累加偶数。以下是简单的步骤和示例代码:
首先,你可以提示用户输入一个数字:
```sh
echo "请输入一个正整数:"
read number
```
然后,检查输入是否为正整数,如果不是,则给出错误提示并退出程序,如果是则开始计算:
```sh
if ! [[ $number =~ ^[0-9]+$ ]] || ((number <= 0)); then
echo "输入错误,请输入一个正整数!"
exit 1
fi
```
接着,初始化一个变量来保存偶数的和,设置初始值为0:
```sh
even_sum=0
```
接下来,创建一个for循环,从0遍历到用户输入的数,并只对偶数求和:
```sh
for((i = 0; i < $number; i++)); do
if ((i % 2 == 0)); then
even_sum=$((even_sum + i))
fi
done
```
最后,打印出结果:
```sh
echo "从0到$number之间的偶数和是: $even_sum"
```
完整的脚本如下:
```sh
#!/bin/bash
echo "请输入一个正整数:"
read number
if ! [[ $number =~ ^[0-9]+$ ]] || ((number <= 0)); then
echo "输入错误,请输入一个正整数!"
exit 1
fi
even_sum=0
for((i = 0; i < $number; i++)); do
if ((i % 2 == 0)); then
even_sum=$((even_sum + i))
fi
done
echo "从0到$number之间的偶数和是: $even_sum"
```
运行此脚本时,它会等待用户的输入,并计算相应的偶数和。
阅读全文