📅  最后修改于: 2023-12-03 15:14:10.929000             🧑  作者: Mango
在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
括起来。这是为了防止文件名中包含空格时出现问题。