Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/06/2023, à 21:22

Tha Tawa'S

[RESOLU] Script pour boucle avec "until"

Hello,
Besoin d'aide avec la commande 'until' please, (je ne suis pas fermé a une autre option)

Ce que je veux faire : boucle pour verification du poids de fichier. Action si poids superieur à 10.

Tant que le fichier est inferieur a 10 on reste dans la boucle.

le probleme, c est que si le fichier est modifié pour atteindre une taille superieur a 10 apres etre rentré ans la bouxle, la modification du poids de fichier n est pas pris en compte.

#Debut boucle
POIDSFILE=$(du -s /mnt/Data/script/NXTK | awk -F " " '{print$1}')    ==> cette commande renvoie un entier quand entrée dans le terminal ( par exmple 2, 14 ou 20)
        until [ $POIDSFILE -ge "10" ];                                                     ==> tant que $POIDSFILE +grand ou egal à 10
        do
    echo $POIDSFILE                                                                           ==> ici, au depart ca ressort 0, mais si je modifie le fichier [u][b]pendant[/b][/u] l execution du script, il continue a sortir 0 ( alors qu il devriat dire 20)
        done
     echo $POIDSFILE                                                                         ==> ici, au depart ca ressort 20 si c est à 20 depuis le depart,, sinon, on y arrive pas.

Une idée ??

D'avance merci

Dernière modification par Tha Tawa'S (Le 16/06/2023, à 23:24)


Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....

Hors ligne

#2 Le 16/06/2023, à 21:36

Watael

Re : [RESOLU] Script pour boucle avec "until"

salut,

il faut rafraîchir la valeur de poidsFichier (les noms de variables tout en majuscules sont, par convention, réservées aux variables systèmes (HOME, PWD...))
et c'est à ça que doit servir la boucle until.

 #!/bin/bash

declare -i poidsFichier

until ((poidsFichier >= 10))
do
   poidsFichier=$(du..|awk..)
done
echo $poidsFichier

je ne suis pas convaincu de l'utilité de awk... regarde bien dans les options de du, tu devrais pouvoir restreindre son affichage aux seules données pertinentes.

poidsFichier ? c'est la somme de la taille des fichiers d'un répertoire ?

Dernière modification par Watael (Le 16/06/2023, à 21:38)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 16/06/2023, à 22:28

MicP

Re : [RESOLU] Script pour boucle avec "until"

Bonjour

Pour éviter d'avoir à lancer awk :

mic@deb12:~$ du -s $HOME
1021680	/home/mic
mic@deb12:~$ 
mic@deb12:~$ poidsFichier=( $(du -s $HOME) )
mic@deb12:~$ echo ${poidsFichier[0]}
1021680
mic@deb12:~$ echo ${poidsFichier[1]}
/home/mic
mic@deb12:~$ echo $poidsFichier
1021680
mic@deb12:~$ 
mic@deb12:~$ [[ $poidsFichier > 1021680 ]] && echo "Test OK"
mic@deb12:~$ [[ $poidsFichier > 1021679 ]] && echo "Test OK"
Test OK
mic@deb12:~$ 

Dernière modification par MicP (Le 16/06/2023, à 22:42)

Hors ligne

#4 Le 16/06/2023, à 22:32

Watael

Re : [RESOLU] Script pour boucle avec "until"

si du ne peut pas le faire tout seul, c'est une bonne solution. +1


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 16/06/2023, à 22:53

kamaris

Re : [RESOLU] Script pour boucle avec "until"

Attention,

[[ $poidsFichier > 1021680 ]]

n'est pas une comparaison d'entiers.

Hors ligne

#6 Le 16/06/2023, à 23:23

Tha Tawa'S

Re : [RESOLU] Script pour boucle avec "until"

Merci WATAEL,
Ca fait bien le boulot !

je cherche le poids d un fichier d un fichier, et pas  d un repertoire,, pas trouvé d autres options de "du" pour sortir un entier.


Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....

Hors ligne

#7 Le 16/06/2023, à 23:55

Watael

Re : [RESOLU] Script pour boucle avec "until"

alors ce n'est pas du que tu dois utiliser, mais stat, qui lui est complètement paramétrable.

Dernière modification par Watael (Le 17/06/2023, à 12:42)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#8 Le 16/06/2023, à 23:56

Watael

Re : [RESOLU] Script pour boucle avec "until"

oops, pas fait gaffe. merci kamaris. +2 pour compenser le +1 big_smile


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 17/06/2023, à 10:17

Tha Tawa'S

Re : [RESOLU] Script pour boucle avec "until"

Watael a écrit :

alors ce n'est pas du que tu dois utiliser, mis stat, qui lui est complètement paramétrable.

Vais regarder ça, Merci.


Si tu tapes ta tete contre une cruche et que ca sonne creux... ce n est peut-etre pas la cruche qui est creuse....

Hors ligne