Est-il possible de vérifier si un répertoire existe et de le supprimer si c'est le cas, sous Unix en utilisant une seule commande? J'ai une situation où j'utilise la tâche ANT 'sshexec' où je ne peux exécuter qu'une seule commande dans la machine distante. Et je dois vérifier si le répertoire existe et le supprimer ...
108
mkdir -p
ignorera les erreurs si elles existent déjà.Réponses:
En supposant que
$WORKING_DIR
le répertoire est défini ... ce one-liner devrait le faire:(sinon remplacez simplement par votre répertoire)
la source
Pourquoi ne pas simplement utiliser
rm -rf /some/dir
? Cela supprimera le répertoire s'il est présent, sinon ne faites rien. Contrairement àrm -r /some/dir
cette saveur, la commande ne plantera pas si le dossier n'existe pas.la source
Essayer:
EDIT : Cela fonctionnera si vous pouvez exécuter bash sur la machine distante ....
EDIT 2 : Dans bash,
[ -d something ]
vérifie s'il existe un répertoire appelé «quelque chose», renvoyant un code de réussite s'il existe et est un répertoire. Le chaînage des commandes avec && exécute la deuxième commande uniquement si la première a réussi. Exécute donc[ -d somedir ] && command
la commande uniquement si le répertoire existe.la source
[ -d /test ] && rmdir /test
(ou rm -rf / test s'il ne va pas être vide et que vous voulez supprimer tout le contenu)Voici une autre doublure:
la source