web-dev-qa-db-fra.com

déplacer uniquement si le fichier existe dans un script Shell

Dans le cadre d'un script de sauvegarde, je veux appeler mv sur un fichier pour le renommer:

mv example.txt example2.txt

Si le fichier n'existe pas, je reçois l'erreur:

mv: cannot stat ‘example.txt’: No such file or directory

Comment appeler le mv uniquement si le fichier existe déjà?

Je ne veux pas vraiment rediriger stderr vers dev/null car j'aimerais bien conserver toutes les autres erreurs qui se produisent.

16
Arth

Vous devez tester si le fichier existe

if [ -f blah ]; then
   mv blah destination
fi
26
Oz123

Bon mot:

[ -f old ] && mv old nu
29
mahemoff