每天一个shell脚本(6)

本文详细介绍了如何使用Shell脚本进行数字求和,通过获取用户输入并利用for循环与条件判断语句,实现了从1累加至用户指定数字的功能。文章深入解析了递归函数的应用,以及如何确保用户输入符合要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

输入一个数字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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值