bash shell 判断多个目录或文件是否存在
时间: 2023-09-16 19:10:28 浏览: 313
在 Bash Shell 中,可以使用 `test` 或 `[ ]` 命令来判断一个文件或目录是否存在。对于多个目录或文件,可以使用以下代码来判断它们是否都存在:
```
if [ -e /path/to/file1 ] && [ -e /path/to/file2 ] && [ -e /path/to/dir1 ]; then
echo "All files and directories exist"
else
echo "One or more files or directories do not exist"
fi
```
其中,`-e` 参数表示文件或目录存在。`&&` 表示逻辑与运算符,只有当所有条件都为真时,才会执行 `then` 后面的语句。如果其中一个条件为假,则会执行 `else` 后面的语句。
相关问题
shell判断文件夹下是否存在多个文件
在Shell脚本中,你可以使用`ls`命令结合`grep`或者`test -e`(测试是否存在)来检查文件夹下是否存在多个特定类型的文件。下面是一个基本示例:
```bash
# 检查当前目录下是否存在.txt文件
count_txt_files=$(find . -type f -name "*.txt" | wc -l)
if [ $count_txt_files -gt 0 ]; then
echo "当前目录下有.txt文件"
else
echo "当前目录下没有.txt文件"
fi
# 使用grep来查找多个文件名
for file_name in 'file1.txt' 'file2.txt'; do
if test -e "$file_name"; then
echo "$file_name 存在"
else
echo "$file_name 不存在"
fi
done
```
这里,`find . -type f -name "*.txt"`会找出当前目录下的所有`.txt`文件,`wc -l`统计文件数。而`test -e "$file_name"`则是针对每个指定的文件名进行检查。
阅读全文