Bash要搜索和删除?

时间:2013-02-21 08:04:51

标签: bash file search

我需要一个脚本来搜索应用程序目录中的文件并将其删除。如果它不存在,它将继续安装。

我需要删除的内容:

/Applications/Cydia.app/Sections/Messages(D3@TH's-Repo).png 

如果找不到,我希望它继续安装。如果在继续安装之前找到该文件,我希望将其删除。

这就是我所拥有的:

#!/bin/bash
file="/Applications/Cydia.app/Sections/Messages(D3@TH's-Repo).png"
if [ -f "$file" ]
then
    echo "$file delteling old icon"
    rm -rf /Applications/Cydia.app/Sections/Messages(D3@TH's-Repo).png

else
    echo "$file old icon deleted already moving on"
fi

2 个答案:

答案 0 :(得分:1)

试试这个

#!/bin/bash
if [ -e <your_file> ]; then
    rm -f <your_file>
 fi

这应该做。

答案 1 :(得分:0)

括号用于在中启动子shell,因此您需要将文件名放在双引号中(就像在文件测试中一样)。

更改行:

rm -rf /Applications/Cydia.app/Sections/Messages(D3@TH's-Repo).png

要:

rm -rf "${file}"

这将删除该文件(假设没有权限问题)。