Script Shell condition répertoire vide - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 05-12-2007 à 11:05:45
Bonjour.
Je comprends mal ta question.
Tu souhaites effacer des répertoires vides ou pleins ?
Si tu veux effacer des répertoires vides : man rmdir
Marsh Posté le 05-12-2007 à 11:11:52
En fait je veux simplement effacer le contenu d'un répertoire quand il est plein et seulement si il est plein.
Marsh Posté le 05-12-2007 à 11:15:22
Citation : ls /home/commun = /dev/null |
heu... /dev/null est un fichier. Ton truc ne veut rien dire.
Marsh Posté le 05-12-2007 à 11:18:14
Comment interpréter ceci :
Si le répertoire commun n'est pas vide alors efface son contenu.
Marsh Posté le 05-12-2007 à 11:28:05
|
Te renvoie le nom de ton repertoire si il est vide....
Marsh Posté le 05-12-2007 à 12:08:17
Elle est pas claire sa commande ?
Marsh Posté le 05-12-2007 à 12:11:58
??
Un minimun d'effort est nécessaire, on est pas une hotline qui va te donner la réponse à tous tes problèmes.
find est une commande, pour savoir ce qu'elle fait tu tapes
man find |
Il n'y a pas de méthode "simple" pour déterminer si un dossier est vide.
Si tu ne connais rien au script sous linux, un petit google "notion fondamentale shell unix" est nécessaire
Il n'y a pas de secret, tu ne peux pas inventer des commandes dont tu ignores l'existence. Il existe des tutoriaux et des doc très bien faite pour l'introduction au script shell.
La tu mélanges tout, résultat de commande, fichier...
Marsh Posté le 05-12-2007 à 12:24:45
Citation : heu... /dev/null est un fichier. Ton truc ne veut rien dire. |
A je préfére cette réponse, elle quand même plus explicite ...
merci.
Marsh Posté le 05-12-2007 à 12:28:45
Marsh Posté le 05-12-2007 à 16:38:32
Tu veux effacer un repertoire et son contenu, mais seulement s'il n'est pas vide, c'est ça ?
[ -n "`ls -A dir`" ] && rm -rf dir |
Marsh Posté le 07-12-2007 à 15:44:04
le contenu du repertoire, seulement s'il n'est pas vide ...
Marsh Posté le 07-12-2007 à 18:23:15
Et le test te sert à quoi alors ? S'il est vide tu peux aussi effacer son contenu, c'est pas un problème
Marsh Posté le 10-12-2007 à 14:18:46
tout a fait ... mais je veux qu'il s'execute seulement quand il y a un contenu.
Marsh Posté le 10-12-2007 à 15:38:15
Et bien tu prends ma commande plus haut et tu remplaces "rm -rf dir" par "rm -rf dir/*" ...
Marsh Posté le 10-12-2007 à 16:43:16
find . -exec rm {} \;
Ca efface les fichiers présent ds le repertoire (si il y en a)
Marsh Posté le 05-12-2007 à 10:51:44
Bonjour à tous,
Y a t'il quelqu'un pour m'interpréter cette condition ?
if ! ls /home/commun = /dev/null Si le répertoire commun n'est pas vide
then rm -r /home/commun Alors efface le contenu du répertoire commun
fi Fin
Amicalement,
Elminio