Bash脚本报错:syntax error near unexpected token `}' 排查求助
解决bash脚本中空函数的语法错误
你遇到的错误是因为bash不允许函数体仅包含注释,哪怕注释占了函数体的全部内容,bash也会判定函数体为空,从而抛出语法错误。
修复方案
有两种简单的解决方式:
- 方式一:在函数体内添加空命令
:,这是bash的空操作命令,不执行任何实际动作,但能满足函数体必须包含有效语句的语法要求:
#!/bin/bash echo "hello!"; HELLO () { # function body : }
- 方式二:如果该函数暂时不需要实现,可以直接注释掉整个函数定义,待需要时再启用:
#!/bin/bash echo "hello!"; # HELLO () { # # function body # }
你之前尝试的增减空格、调整编码操作本身没有问题,但问题根源是bash的语法规则限制,所以这些操作无法解决报错。
内容的提问来源于stack exchange,提问作者stackcen
相关产品推荐
相关产品推荐

