Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
880 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script Shell condition répertoire vide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script Shell condition répertoire vide

n°987726
elminio
Posté le 05-12-2007 à 10:51:44  profilanswer
 

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

mood
Publicité
Posté le 05-12-2007 à 10:51:44  profilanswer
 

n°987732
Fork Bomb
Obsédé textuel
Posté le 05-12-2007 à 11:05:45  profilanswer
 

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


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°987734
elminio
Posté le 05-12-2007 à 11:11:52  profilanswer
 

En fait je veux simplement effacer le contenu d'un répertoire quand il est plein et seulement si il est plein.

n°987735
o'gure
Modérateur
Multi grognon de B_L
Posté le 05-12-2007 à 11:15:22  profilanswer
 

Citation :

ls /home/commun = /dev/null


[:pingouino dei]
heu... /dev/null est un fichier. Ton truc ne veut rien dire.


---------------
Relax. Take a deep breath !
n°987736
elminio
Posté le 05-12-2007 à 11:18:14  profilanswer
 

Comment interpréter ceci :
Si le répertoire commun n'est pas vide alors efface son contenu.


Message édité par elminio le 05-12-2007 à 11:18:40
n°987741
boobaka
Posté le 05-12-2007 à 11:28:05  profilanswer
 


find <le_chemin_de_ton_rep> -type d -empty


Te renvoie le nom de ton repertoire si il est vide....

n°987758
elminio
Posté le 05-12-2007 à 12:00:43  profilanswer
 
n°987762
Fork Bomb
Obsédé textuel
Posté le 05-12-2007 à 12:08:17  profilanswer
 


Elle est pas claire sa commande ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°987763
o'gure
Modérateur
Multi grognon de B_L
Posté le 05-12-2007 à 12:11:58  profilanswer
 

??
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.

  • soit tu prends la commande de boobaka et tu vérifie que ce qu'elle retourne est égal au nom de ton répertoire et ca sera bon
  • sinon tu compares le résultat d'un ls au résultat d'un ls d'un répertoire vide
  • sinon tu comptes le nombre de ficher dans le répertoire (ls | wc -l) et tu compares ce résultats à 0.
 

Si tu ne connais rien au script sous linux, un petit google "notion fondamentale shell unix" est nécessaire[:spamafote]
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...


Message édité par o'gure le 05-12-2007 à 12:13:54

---------------
Relax. Take a deep breath !
n°987768
elminio
Posté le 05-12-2007 à 12:24:45  profilanswer
 

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.


Message édité par elminio le 05-12-2007 à 16:15:23
mood
Publicité
Posté le 05-12-2007 à 12:24:45  profilanswer
 

n°987769
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 05-12-2007 à 12:28:45  profilanswer
 

[:mlc]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°987897
matafan
Posté le 05-12-2007 à 16:38:32  profilanswer
 

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

n°988771
elminio
Posté le 07-12-2007 à 15:44:04  profilanswer
 

le contenu du repertoire, seulement s'il n'est pas vide ...

n°988824
matafan
Posté le 07-12-2007 à 18:23:15  profilanswer
 

Et le test te sert à quoi alors ? S'il est vide tu peux aussi effacer son contenu, c'est pas un problème :heink:

n°988825
Profil sup​primé
Posté le 07-12-2007 à 19:10:27  answer
 

[:rofl]

n°989564
elminio
Posté le 10-12-2007 à 14:18:46  profilanswer
 

tout a fait ... mais je veux qu'il s'execute seulement quand il y a un contenu.

n°989585
matafan
Posté le 10-12-2007 à 15:38:15  profilanswer
 

Et bien tu prends ma commande plus haut et tu remplaces "rm -rf dir" par "rm -rf dir/*" ...

n°989593
elminio
Posté le 10-12-2007 à 15:50:45  profilanswer
 

ok merci ...

n°989621
m3z
il faut toujours faire simple
Posté le 10-12-2007 à 16:43:16  profilanswer
 

find . -exec rm {} \;
 
Ca efface les fichiers présent ds le repertoire (si il y en a)

n°1273996
CyberDenix
Posté le 12-04-2011 à 13:23:51  profilanswer
 

Code :
  1. find . -type d -empty | xargs rm -rf


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script Shell condition répertoire vide

 

Sujets relatifs
[Shell - awk] Redirection ">>" écrase le fichierscript shell qui recherche un mot
shell bash : decouper un motProblème de script bash sous Cygwin
Spamassassin : Copie des spams dans un répertoire communScript Connexion Samba
[Amsn 0.97] Quel répertoire pour les avatars de mes contacts ?pb d'acces repertoire home
Script shell pour découper des fichiers audio 
Plus de sujets relatifs à : Script Shell condition répertoire vide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR