Bash脚本if语句报错‘[-h: command not found’求助
问题解决:if语句报错"[-h: command not found"的修复方案
你的问题根源是两处语法细节错误:
[命令缺少空格[是Shell的内置命令(和test命令等价),必须和后续参数之间保留空格。你的代码里["$arg"连在一起,Shell会把它当成一个名为[-h的命令去查找,因此触发"command not found"报错。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
相关产品推荐
相关产品推荐

