Bash中如何判断文件、文件夹是否存在?

bash中经常会碰见文件或者目录是否存在的场景,只有当文件目录存在,某些特定业务处理才能正常的流转,所以对于一个经常使用bash的人来说,掌握这些常用bash很重要。

file

文件是否存在

bash中可以使用-e参数来判断一个文件或者文件夹是否存在。举例如下:

判断文件是否存在

#!/bin/bash
if [ -e "test.txt" ]; then
  echo "文件存在"
else
  echo "文件不存在"
fi

上述代码先使用了-e参数判断了文件test.txt是否存在,如果文件存在,则输出“文件存在”,否则输出“文件不存在”。

判断文件夹是否存在

#!/bin/bash
if [ -e "/home/user" ]; then
  echo "文件夹存在"
else
  echo "文件夹不存在"
fi

与判断文件是否存在类似,上述代码使用了-e参数来判断文件夹/home/user是否存在。如果文件夹存在,则输出“文件夹存在”,否则输出“文件夹不存在”。

需要注意的是,如果使用-e参数进行文件夹存在性判断时,实际上只是判断了目录是否存在而不是判断它是否是一个目录,这时可以使用-d参数来判断一个目录是否存在。

目录是否存在

好的,如果需要判断一个目录是否存在,可以使用-d参数。举例如下:

#!/bin/bash
if [ -d "/home/user" ]; then
  echo "目录存在"
else
  echo "目录不存在"
fi

上述代码使用了-d参数来判断目录/home/user是否存在。如果目录存在,则输出“目录存在”,否则输出“目录不存在”。注意,使用-d参数时,要保证对应路径处实际上存在一个目录,否则会报错。

golang数据类型转换
Bash中字符串处理深入讲解

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

21 + 6 =

ajax-loader