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

Ubuntu下.sh文件报错求助:[: 0: unexpected operator循环触发

Shell脚本错误排查与修复
  • 核心错误原因:脚本第4行的-equ是无效的整数比较操作符。在Bash的[ ](test命令)语法中,判断整数相等应该使用-eq,而非-equ,这直接导致了每次循环都抛出[: 0: unexpected operator的错误。

  • 修复后的脚本代码:

i=0
while [ $i -lt 100 ]
do
if [ $((i%3)) -eq 0 ] ; then
((i=i+1))
continue
fi
echo $i
((i=i+1))
done
#end
  • 额外说明:
    • 你怀疑的空格问题在这里不存在,[与表达式、表达式与]之间的空格使用是正确的,这是[ ]语法的必要要求。
    • Shell的关键字、操作符确实区分大小写,所有整数比较操作符(如-lt、-eq、-gt等)都是小写形式,使用时需注意。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:47:34