Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
[bash] créer un script de moyenne
Envoyé par: hugsy_75

salut tlm
alors voila, on m'a donné un listing (tres) impressionnant de server. comme la liste date presque d 1 mois, je voudrais automatiser par script une cmd ping ki balaie ts les ip et me mets toutes celles qui sont valables dans un fichier de sortie

le pb est que lorsque j'essaie de recuperer la sortie d'une cmd (genre ping) et la mettre ds un var, la var a tjs la valeur 0 !! (?)

j ecris a qq lignes de code pr aider a comprendre un peu

#! /bin/sh

#test de l'existence du fichier de proxy
if [ -f $1 ]; then
#svg du listing de proxy initial
cp $1 $1.bak

#lecture itérative du fichier
ping -c 3 -w 10 `head -n 1 $1| awk '{print $1}'` | grep 'from' | awk '{print $7}' |sed 's/time=//' > $HOME/tmp/fic.tmp #crée le fic.tmp avec 3 valeurs de tps
# var somme qui fait la som des val
somme= expr `awk 'BEGIN {FS = "\n"}
{total+=$1}
END {print total}' $HOME/tmp/fic.tmp` / $nb
echo $somme # ==> affiche tjs 0 (dc la sortie n'a pas été effectué)
[...]

merci d'avance a tous ceux qui pourront m'aider

Poste le Thursday 10 February 2005 13:02:06
Répondre     Citer    
Re: [bash] créer un script de moyenne
Envoyé par: Jonesy's

Bonjour,

C'est normal, tu ne récuperes pas la sorte (sdtout) mais le code de sortie du programme !
Pour récupérer la sortie :
somme= `expr ...`
Mais là tu auras un autre problème que je te laisse découvrir ;-)

@+

--- Marchons seul, sans faire le mal, sans rien attendre, tel l'éléphant qui traverse la forêt. ---

Poste le Thursday 10 February 2005 13:09:50
Répondre     Citer    
Re: [bash] créer un script de moyenne
Envoyé par: ceric35

somme=$(expr `awk 'BEGIN {FS = "\n"}
{total+=$1}
END {print total}' $HOME/tmp/fic.tmp` / $nb )

tu peut pas mettre dirrectement somme = expr
mais somme = $( expr ... ) ou
somme = `expr ... `

mais avec les quotes , il va y avoir conflit :-/

-------------------------------------------------------------------------------------------------
Linux est pour la firme de Redmond ce qu'est James Bond pour les
méchants dans les films : le dernier obstacle avant la domination mondiale.

Poste le Thursday 10 February 2005 13:11:35
Répondre     Citer    
Re: [bash] créer un script de moyenne
Envoyé par: ceric35

rrooh , encore grillé :,(

-------------------------------------------------------------------------------------------------
Linux est pour la firme de Redmond ce qu'est James Bond pour les
méchants dans les films : le dernier obstacle avant la domination mondiale.

Poste le Thursday 10 February 2005 13:13:31
Répondre     Citer    
Re: [bash] créer un script de moyenne
Envoyé par: hugsy_75

Citation
Jonesy's
Pour récupérer la sortie :
somme= `expr ...`
Mais là tu auras un autre problème que je te
laisse découvrir

salut, et merci de votre aide,
quand je tape somme= `expr ...` il me sors
expr: Trop peu de arguments. que faire !!

Poste le Thursday 10 February 2005 16:39:55
Répondre     Citer    
Re: [bash] créer un script de moyenne
Envoyé par: Jonesy's

RE...


Les "..." c'était pour ta commande à toi.
Mais tu auras le problème soulevé par ceric35...

Citation
ceric35
rrooh , encore grillé
Fais moi savoir quels postes je dois te laisser, ce sera avec plaisir ! ;-p

@+

--- Marchons seul, sans faire le mal, sans rien attendre, tel l'éléphant qui traverse la forêt. ---

Poste le Thursday 10 February 2005 16:50:03
Répondre     Citer    
Re: [bash] créer un script de moyenne
Envoyé par: hugsy_75

Citation
Jonesy's
Les "..." c'était pour ta commande à toi.
mdr !! oui t inquietes j avais compris, et remplacé les "..." dans mon code lol

mais g trouvé un moyen bcp bcp + simple pour faire cela: c t l affaire d'une (simple) boucle for
oh la, pff, parfois, je me demande vraiment a koi je pense

en tt k, merci a tous pr le coup de patte

Poste le Thursday 10 February 2005 16:57:38
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
[bash] créer un script de moyenne
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons