Bash 检查文件是否存在2024 年 8 月 29 日 | 4 分钟阅读 大多数情况下,我们可能会遇到需要执行操作以检查文件是否存在的场景。 在 Bash 中,我们可以使用 'test command' 来检查文件是否存在并确定文件的类型。 以下是 test 命令的语法,我们可以使用这些命令中的任何一个 我们需要使用单括号 '[' 命令来使我们的脚本可移植到所有 POSIX shell。升级版本的 test 命令包含双括号 '[[',它在大多数使用 Bash、Zsh 和 Ksh 作为默认 shell 的现代系统上都支持。 检查文件是否存在在检查文件是否存在时,最常用的文件操作符是 -e 和 -f。'-e' 选项用于检查文件是否存在,无论类型如何,而 '-f' 选项仅在文件是常规文件(不是目录或设备)时才返回真值。 检查文件是否存在的最常见方法是使用带有 'if 条件语句' 的 test 命令。 以下是检查 'read_file.txt' 文件是否存在的示例 方法 1 方法 2 方法 3 输出 所有三种方法的输出将如下所示,因为我们在目录中有一个文件 (read_file.txt) read_file.txt exist 如果我们想执行一个基于文件是否存在提供结果的操作,我们可以按以下方式使用 if/then 构造 示例 输出 read_file.txt exist 我们也可以在没有 if 语句的情况下使用 test 命令。我们可以使用以下任何一种方法 方法 1 方法 2 方法 3 输出 所有三种方法的输出将如下所示,因为我们在目录中有一个文件 (read_file.txt) read_file.txt exist 如果在 && 运算符之后要运行多个命令,则将这些命令括在用分号 (;) 或 AND (&&) 分隔的花括号中,即 示例 与 && 不同,只有在 test 命令的退出状态为“false”时,才会执行 || 运算符之后的语句。 示例 输出 read_file.txt exist 这些是 Bash 中常用的检查文件是否存在的方法。 检查目录是否存在运算符 '-d' 允许我们测试文件是否为目录。 以下是检查 'Javatpoint' 目录是否存在的方法 方法 1 方法 2 注意:我们也可以使用双括号 '[[' 代替单括号 '['。输出 以上两种方法的输出都将如下所示,因为我们在指定位置有一个目录(名为 Javatpoint) Javatpoint is a directory 检查文件是否不存在可以使用感叹号 (! - 逻辑非运算符) 否定测试表达式。查看以下示例 示例 上面的脚本也可以写成如下 输出 missing_read_file.txt unavailable 文件测试操作符test 命令包含以下文件操作符,这些操作符允许我们测试特定类型的文件
下一个主题Bash 检查变量是否已设置 |
我们请求您订阅我们的新闻通讯以获取最新更新。