题目:
输入一个数字n并计算1到这个数的总和。要求:如果这个数小于等于1,要求重新输入,直到输入大于1的数字为止。
涉及知识点:
- 获取用户输入,并判断是否大于1
# 获取用户输入
read var
# 判断是否大于1
if [ ! var -gt 1 ]
then
# 让用户再次输入
fi
- 不满足判断要求,重复操作直到成功(递归函数)
# 使用shell中的函数
function func()
{
# 输入及判断逻辑封装在此函数内
}
# 注意:与一些语言不同的是,要先定义函数再调用
- 求和
# 我使用的for循环求和 注意seq需要``或$()包裹
# 数据求和$[] 或 expr
sum=0
for i in $( seq 1 $var )
do
sum = $[ $i + $var ]
done
echo “The sum of 1 to $var is $sum”
exit
完整代码
function func()
{
read var
# 判断是否大于1
if [ ! $var -gt 1 ]
then
# 让用户再次输入
func
fi
sum=0
for i in $( seq 1 $var )
do
$sum = $[ $i + $sum ]
done
echo “The sum of 1 to $var is $sum”
exit 0
}