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

Bash for循环报错求助:done被识别为意外令牌

Bash for循环语法错误修复

错误原因及修复步骤

  • 大括号扩展语法错误:Bash的大括号序列需要用逗号分隔元素,你用了空格,正确写法是{1,2,3}而非{1 2 3}。
  • 循环体不能为空:do和done之间必须包含至少一条命令,哪怕是占位用的空命令也可以。

修复后的示例脚本

如果需要执行具体逻辑,比如打印循环变量:

#!/bin/bash
for ln in {1,2,3}; do
    echo "当前循环值: $ln"
done
exit 0

如果只是需要占位(暂时不执行逻辑),可以用Bash的空命令::

#!/bin/bash
for ln in {1,2,3}; do
    :  # 空命令,仅用于占位满足语法要求
done
exit 0

验证执行

给脚本添加执行权限后运行即可正常工作:

chmod +x Untitled-1.sh
./Untitled-1.sh

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:35:23