解决'.sh: 未预期的符号 fi 附近有语法错误'问题
运行.sh脚本时遇到'未预期的符号 fi 附近有语法错误'?
在运行.sh脚本时,您可能会遇到类似这样的错误信息:'script.sh: 行号: 未预期的符号 fi 附近有语法错误'。这通常意味着您的脚本中存在 if 语句语法问题。
错误原因
这个错误的主要原因是 if 语句与其对应的 fi 语句不匹配。Shell 脚本使用 if 关键字开始条件语句,并使用 fi 关键字结束。如果缺少 fi 或者 if 和 fi 之间存在语法错误,就会导致这个错误。
解决方法
-
检查 if 语句的语法: 确保您的 if 语句遵循以下语法:
bash if [ 条件 ]; then # 代码块 fi- 方括号: 条件表达式必须放在方括号
[ ]中,并且方括号内部前后要有空格。 - 分号: 条件表达式后必须有一个分号;。 - then: 分号后必须有then关键字。 - fi: 必须使用fi关键字结束 if 语句。
- 方括号: 条件表达式必须放在方括号
-
检查 if 和 fi 的匹配: 确保每个
if语句都有一个对应的fi语句,并且它们之间没有语法错误或嵌套错误。
示例
以下是一个包含错误和正确语法的示例:
**错误示例:**bashif [ $a -gt $b ] then echo '$a 大于 $b'# 缺少 fi 语句
**正确示例:**bashif [ $a -gt $b ]; then echo '$a 大于 $b'
原文地址: https://www.cveoy.top/t/topic/fxIu 著作权归作者所有。请勿转载和采集!