user1996894
user1996894

Reputation: 3

Bash to search and delete?

I need a script that will search for a file in a applications directory and delete it. If it's not there it will continue with the install.

What I'm needing deleted:

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

If that's not found I want it to continue on the install. If it finds that file I want it to delete it before continuing the installation.

This is what I've got:

#!/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

Upvotes: 0

Views: 190

Answers (2)

johnsyweb
johnsyweb

Reputation: 141780

Parentheses are used to start a subshell in , so you'll need to put your filename in double-quotes (as you did in the file test).

Change the line:

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

To:

rm -rf "${file}"

And this will remove the file (assuming no permissions problems).

Upvotes: 0

Balram
Balram

Reputation: 21

try this

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

this should do.

Upvotes: 1

Related Questions