📌  相关文章
📜  cmd 检查文件是否存在 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:14:10.929000             🧑  作者: Mango

检查文件是否存在 - Shell/Bash

在Shell/Bash编程中,我们需要经常检查某个文件是否存在,这个功能可以通过以下命令实现:

if [ -e 文件名 ]; then
    # 存在
else
    # 不存在
fi

在上面的代码中,-e代表文件是否存在的参数选项。if...then...else结构根据文件是否存在分支执行不同的操作。

除了-e选项外,还有一些其他的选项可以用来检查文件是否存在和其它属性。下面是常用的选项和它们的含义:

  • -e:如果文件或目录存在,则为True;
  • -f:如果文件存在,则为True;
  • -d:如果目录存在,则为True;
  • -s:如果文件存在且大小不为0,则为True;
  • -r:如果文件存在且可读,则为True;
  • -w:如果文件存在且可写,则为True;
  • -x:如果文件存在且可执行,则为True。

在使用这些选项前,需要先理解Shell/Bash中的条件测试语句,即if...then...else结构。

下面是一个完整的示例代码,展示如何使用-e选项判断文件是否存在:

filename="file.txt"

if [ -e "$filename" ]; then
    echo "$filename exists"
else
    echo "$filename does not exist"
fi

在上面的代码中,我们将文件名存储在变量filename中,并检查文件是否存在。如果文件存在,则输出filename exists,否则输出filename does not exist

注意,在上面的代码中,我们使用了双引号将变量filename括起来。这是为了防止文件名中包含空格时出现问题。