Je voudrais exécuter une ligne de commande:
cd ~/www/tmp/; rm -P 2*
Mais j'obtiens une erreur s'il n'y a pas de fichiers commençant par 2.
On pourrait penser que je voudrais utiliser -f
, cependant:
-f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error.
Et je fais soin de fichier permissions- s'il y a quelque chose de bizarre se passe, je préfère la commande abort. Je veux seulement supprimer les erreurs «n'existe pas».
J'ai regardé d'autres questions avec des `` erreurs rm '' et trouvé ces deux qui semblent (un peu) pertinentes:
Supprimez les fichiers et les répertoires par leur nom. Aucun fichier ou répertoire de ce nom
Mais, je ne comprends pas tout ce qui se passe dans les réponses à cette question, et je ne sais pas si j'en ai besoin?
Le touch
hack suggéré dans cette question:
Rm n'a-t-il pas signalé qu'un fichier est manquant?
Cela semble réalisable, car je ne pense pas que cela me dérange de la performance (mais quel type de performance souhaitez-vous prendre?
Je ne sais pas comment je ferais un if-then
dans la ligne de commande.
Existe-t-il d'autres options pour un nettoyage simple en ligne de commande couper-coller?
Fonctionnerait find -delete
mieux pour mon cas? Si oui, pourquoi?
erreur en question:
rm: 2*: No such file or directory
zsh
votre shell interactif? Obtenez-vous une No matches found
erreur?
2*
à rm au lieu de la développer dans une liste de fichiers. Regardez l'erreur en question: il dit que rm se plaint, pas sh / bas / zsh / ...
rm
, vous devrez donc dire ce que c'est.