bash判断文件是否存在
时间: 2024-11-20 22:28:54 浏览: 26
在Bash shell脚本中,你可以使用`test`命令或者更现代的`[[ ... ]]`条件表达式来判断一个文件是否存在。以下是两种方法:
1. 使用`test`命令:
```bash
if test -e "file.txt"; then
echo "File exists."
else
echo "File does not exist."
fi
```
这里 `-e` 参数用于检查路径是否存在,如果存在则返回true。
2. 使用`[[ ... ]]`表达式:
```bash
if [[ -f "file.txt" ]]; then
echo "File is a regular file and exists."
elif [[ -d "file.txt" ]]; then
echo "File is a directory and exists."
else
echo "File does not exist or is not a regular file/directory."
fi
```
`-f` 检查是否为普通文件,`-d` 则检查是否为目录。
相关问题
bash 判断文件是否存在
在 Bash shell 中,判断文件是否存在通常使用测试命令 `test`, `[[ ]]` 或 `if` 结构配合文件存在条件运算符 `-e` (exist)。以下是几种常见的方式:
1. 使用 `test` 命令:
```bash
if test -e file.txt; then
echo "File exists"
else
echo "File does not exist"
fi
```
2. 使用 `[[ ]]` 表达式:
```bash
if [[ -e file.txt ]]; then
echo "File exists"
else
echo "File does not exist"
fi
```
3. 使用 `if` 语句:
```bash
if [ -e file.txt ]; then
echo "File exists"
else
echo "File does not exist"
fi
```
这三种方法都实现了同样的功能,如果文件名为 "file.txt" 的文件存在于当前路径下,就会打印 "File exists",否则打印 "File does not exist"。你可以根据个人喜好选择其中一个语法。
bash判断文件是否为空
可以使用 `test` 或者 `[` 命令结合 `-s` 选项来判断文件是否为空,如下所示:
```
if [ -s file.txt ]; then
echo "file.txt is not empty."
else
echo "file.txt is empty."
fi
```
或者:
```
if test -s file.txt; then
echo "file.txt is not empty."
else
echo "file.txt is empty."
fi
```
其中,`-s` 选项表示测试文件是否存在且非空。如果文件存在且不为空,则返回真;否则返回假。
阅读全文