每天一个shell脚本(6)

题目:

输入一个数字n并计算1到这个数的总和。要求:如果这个数小于等于1,要求重新输入,直到输入大于1的数字为止。

涉及知识点:

  1. 获取用户输入,并判断是否大于1
# 获取用户输入
read var
# 判断是否大于1
if [ ! var -gt 1 ]
then
  # 让用户再次输入
fi
  1. 不满足判断要求,重复操作直到成功(递归函数)
# 使用shell中的函数
function func()
{
    # 输入及判断逻辑封装在此函数内
}

# 注意:与一些语言不同的是,要先定义函数再调用
  1. 求和
# 我使用的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
}

猜你喜欢

转载自blog.csdn.net/weixin_43490690/article/details/89394189
今日推荐