运行.sh脚本时遇到'未预期的符号 fi 附近有语法错误'?

在运行.sh脚本时,您可能会遇到类似这样的错误信息:'script.sh: 行号: 未预期的符号 fi 附近有语法错误'。这通常意味着您的脚本中存在 if 语句语法问题。

错误原因

这个错误的主要原因是 if 语句与其对应的 fi 语句不匹配。Shell 脚本使用 if 关键字开始条件语句,并使用 fi 关键字结束。如果缺少 fi 或者 iffi 之间存在语法错误,就会导致这个错误。

解决方法

  1. 检查 if 语句的语法: 确保您的 if 语句遵循以下语法:

    bash if [ 条件 ]; then # 代码块 fi

    • 方括号: 条件表达式必须放在方括号 [ ] 中,并且方括号内部前后要有空格。 - 分号: 条件表达式后必须有一个分号 ;。 - then: 分号后必须有 then 关键字。 - fi: 必须使用 fi 关键字结束 if 语句。
  2. 检查 if 和 fi 的匹配: 确保每个 if 语句都有一个对应的 fi 语句,并且它们之间没有语法错误或嵌套错误。

示例

以下是一个包含错误和正确语法的示例:

**错误示例:**bashif [ $a -gt $b ] then echo '$a 大于 $b'# 缺少 fi 语句

**正确示例:**bashif [ $a -gt $b ]; then echo '$a 大于 $b'

解决'.sh: 未预期的符号 fi 附近有语法错误'问题

原文地址: https://www.cveoy.top/t/topic/fxIu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录