在 Linux 的 Shell 脚本中,fi
是 if
语句的结束标记,用于闭合一个条件判断块。它的作用类似于其他编程语言中的 }
或 end if
。
if [ 条件 ]; then
# 条件成立时执行的代码
fi # 结束 if 块
fi
必须与 if
成对出现,否则脚本会报错(如 syntax error: unexpected end of file
)。fi
不强制缩进,但良好的习惯是让它与对应的 if
对齐,提高可读性。if-else
嵌套时,每个 if
都需要自己的 fi
。if [ -f "/path/to/file" ]; then
echo "文件存在。"
fi
if
的 fi
if [ "$var" = "yes" ]; then
if [ -d "/tmp" ]; then
echo "目录存在。"
fi # 闭合内层 if
fi # 闭合外层 if
else
/elif
结合if [ "$1" -gt 10 ]; then
echo "大于10。"
elif [ "$1" -gt 5 ]; then
echo "大于5。"
else
echo "其他情况。"
fi # 闭合整个 if-elif-else 块
fi
:会导致脚本终止并报错。fi
顺序:在嵌套时,内层 fi
必须在外层之前闭合。fi
是 if
倒过来拼写(类似 case
语句用 esac
闭合)。done
(for
/while
循环)、esac
(case
语句)。如果遇到具体脚本问题,可以提供代码片段进一步分析!