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

Bash循环问题求助:输出1-99奇数的代码错误求解析

问题解决:Bash循环输出1-99奇数的错误修正

你的代码存在两个问题:

  • 语法空格错误:Bash对条件判断的格式要求严格,[[之后、]]之前必须保留空格,你的代码里[[$((i % 2))和0 ]]的写法会导致Shell无法正确解析条件表达式,这是报错的核心原因。
  • 循环范围冗余:题目要求输出1到99的奇数,你写的{1..100}会包含100,虽然奇数判断会过滤掉它,但按要求缩小范围到{1..99}更严谨。

修正后的代码如下:

for i in {1..99};
do
  if [[ $((i % 2)) != 0 ]]; then
    echo "$i"
  fi
done

另外可以利用Bash序列的步长特性简化代码,直接生成1-99的奇数,无需额外条件判断:

for i in {1..99..2}; do
  echo "$i"
done

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:45:27