L'application de planification tierce utilisée par notre entreprise n'exécute pas les commands rm
comme prévu. Par cela, je veux dire que je m'attends à ce que le rm -f $filetoremove
se termine et passe ensuite à la ligne de code suivante dans le script.
Mais je dois l'get pour exécuter de preference rm -f
.
Existe-t-il une autre méthode pour supprimer un file sans utiliser rm
? J'ai essayé > delete_foobar.file
mais il suffit de le vider sans le supprimer.
Informations supplémentaires : Mon environnement de travail est une grande entreprise. J'écris le script .sh
que je teste en dehors de l'application de programmation. En dehors du logiciel de planification, la command rm -f $filetoremove
fonctionne avec un code de return de 0
. Cependant, le logiciel de planification n'enregistre pas le code return 0
et quitte immédiatement sans exécuter le rest du script .sh
. Ceci est problématique et le vendeur a reconnu ce défaut.
Je ne suis pas au courant des détails du logiciel d'automation ni des codes de return exacts qu'il reçoit. Tout ce que je sais, c'est que mes scripts ne fonctionnent pas complètement, lorsqu'ils sont exécutés via le logiciel d'automation, s'ils contiennent rm
. C'est pourquoi je cherche des alternatives à rm
.
Oui, il est important que je supprime le file une fois que j'ai terminé le traitement.
La command unlink
fait également partie de POSIX:
unlink <file>
Êtes-vous capable de courir shred
? Si oui, alors:
shred -u <file to remove>
Existe-t-il une autre méthode pour supprimer un file sans utiliser
rm
?
busybox rm -f path/to/file
Cela suppose que votre application de planification vous permet d'exécuter busybox
sans ressortingction. Puisque vous n'avez pas spécifié quelle application est, nous ne soaps pas vraiment quelles sont les ressortingctions, mais ce qui précède devrait fonctionner si l'application possède une simple protection molly empêchant l'exécution de juste rm
.
Avec une find
GNU, find /your/file -delete
pourrait fonctionner.
Déplacer le file vers / tmp:
mv filename /tmp
et il sera supprimé au prochain redémarrage.