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

Bash脚本if语句报错‘[-h: command not found’求助

问题解决:if语句报错"[-h: command not found"的修复方案

你的问题根源是两处语法细节错误:

  1. [ 命令缺少空格
    [ 是Shell的内置命令(和test命令等价),必须和后续参数之间保留空格。你的代码里["$arg"连在一起,Shell会把它当成一个名为[-h的命令去查找,因此触发"command not found"报错。

  2. exit1 语法错误
    exit是独立命令,后面的退出码需要和它之间保留空格,正确写法是exit 1,否则Shell会把exit1识别为不存在的命令。

修复后的完整代码:

arg=$1

if [ "$arg" = "-h" ]; then
    helpFunction
    exit 1
fi

额外提示:如果用sh执行脚本(POSIX Shell环境),建议用单等号=做字符串比较,双等号==是Bash的扩展语法,部分POSIX Shell可能不支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:25:20