如何在 Linux Shell 中判断文件是否存在?

在 Linux 运维或自动化脚本编写中,判断文件是否存在是最基础且高频的操作之一。通常,我们会利用 Shell 的 if 条件语句配合特定的文件测试运算符来实现这一功能。

最常见的方法是使用 -e 参数,它用于检查目标路径是否存在,无论是文件还是目录。基本的语法结构如下:

if [ -e filename ]; then echo "文件存在"; else echo "文件不存在"; fi

在实际应用中,为了让脚本逻辑更严密,我们往往需要更具针对性的判断。例如,如果你只想确认某个普通文件是否存在(排除目录的干扰),应该将 -e 替换为 -f 参数。同理,如果你需要判断某个目录(文件夹)是否存在,则可以使用 -d 参数

此外,编写脚本时还需要注意空格规范。在 Shell 中,中括号 [] 的内部两侧必须保留空格,否则系统会报错。合理运用这些测试条件,可以大大提升自动化脚本的健壮性与稳定性。

另请参阅

深度文章

相关话题