You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Bash编写的计数器无法停止计数的问题

问题分析与解决

你的脚本陷入无限循环的核心原因是变量名不统一:

你初始化的计数器变量是number=0,循环判断的也是number的取值,但循环体里却一直在操作未初始化的var——不管是输出还是自增都用的var。这就导致number始终保持初始值0,永远满足! $number -gt $max的条件(0不可能大于你输入的任何正整数),循环自然停不下来。

修正后的脚本

#!/bin/bash
read -p "Number to count to: " max
number=0
while [ ! $number -gt $max ]
do
        echo $number
        ((number++))
done

关键修改说明

  • 将循环体里的var全部替换为number,让计数器变量保持统一
  • 此后每次循环都会更新number的值,当它大于输入的max时,循环条件不成立,计数就会停止

内容的提问来源于stack exchange,提问作者Tommmaso44

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:12:03