shell判断文件是否存在,若存在则删除
时间: 2024-05-12 08:17:16 浏览: 231
您可以使用以下命令判断文件是否存在,并在存在时删除该文件:
```shell
if [ -f <文件路径> ]; then
rm <文件路径>
fi
```
其中,`<文件路径>` 为要判断和删除的文件的绝对路径或相对路径。如果文件存在,则 `-f` 参数返回 `true`,执行 `rm` 命令删除该文件。
相关问题
写一个shell判断文件A和B是否存在,存在删除后重新建立,不存在直接建立
可以使用以下的Shell脚本来实现:
```
#!/bin/bash
if [ -e A ]; then
rm A
fi
if [ -e B ]; then
rm B
fi
touch A
touch B
```
上述脚本中,首先使用`-e`参数判断文件A和B是否存在,如果存在则使用`rm`命令删除,然后使用`touch`命令重新建立。如果文件不存在,则直接使用`touch`命令建立。
注意:上述脚本只能在当前目录下建立或删除文件A和B。如果需要在其他目录操作,请在文件路径前加上相应的目录路径。
编写一个Shell脚本,其作用是:查看/root/test 这个名称是否存在;若不存在,则使用touch来创建一个普通文件,创建完成后离开;如果存在,判断该名称是否为普通文件,若为普通文件则将其删除后创建一个目录,文件名为test,之后离开;如果存在,而且该名称为目录,则移除此目录。
可以使用以下Shell脚本实现:
```bash
#!/bin/bash
if [ ! -e /root/test ]; then
touch /root/test
echo "Created file /root/test"
elif [ -f /root/test ]; then
rm /root/test
mkdir /root/test
echo "Removed file /root/test and created directory /root/test"
else
rm -r /root/test
echo "Removed directory /root/test"
fi
```
该脚本首先检查文件/目录/root/test是否存在。如果不存在,则使用touch命令创建一个名为test的普通文件,并在控制台上输出一条消息来确认其创建。
如果文件/目录/root/test存在,则脚本检查该名称是否为普通文件。如果是,则使用rm命令将其删除,并使用mkdir命令创建一个名为test的目录,并在控制台上输出一条消息来确认其创建。
如果文件/目录/root/test存在,但是是一个目录,则脚本使用rm命令将其删除,并在控制台上输出一条消息来确认其被删除。
注意:该脚本需要以root用户权限运行,否则可能会因为权限问题而无法创建/删除文件或目录。
阅读全文