[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[HS] Comportement bizarre de bash



Bonjour à tous.

Je fais :

toto@debian$ {count=10; echo $count}
10
toto@debian$ echo $count
10
toto@debian$ {count=12; echo $count}
12
toto@debian$ echo $count
12
toto@debian$ {count=9; echo $count}|less
9
toto@debian$ echo $count
12
toto@debian$ {count=9; echo $count}|xargs echo
9
toto@debian$ echo $count
12

Étonnant, non ?

Du coup, si vous êtes amenés à faire des calculs
qui utilisent une variable et un xargs,
ceux ci peuvent être faux, sans que vous
compreniez vraiment pourquoi.

Comme par exemple, la ligne suivante :
(C'est une seule ligne)

{ count=0; for I in wget-log*; do if grep -qi
"forbidden\|sauvegardé\|rien à faire" $I; then echo -n; else
count=$(expr $count + 1); echo; echo $I; tail $I; fi; done; echo; echo
"total = " $count; }|grep KB|cut -d\% -f2|cut -d\K -f1|xargs -n 1
printf "+ %s "|xargs -d'\n' printf "(0 %s) / $count"|xargs -d'\n'
echo|bc -l

Si vous avez déjà rencontré ce comportement,
et / ou si vous en connaissez l'explication,
je serais ravi de bénéficier de vos lunières
et commentaires.

FA







      
	
		
___________________________________________________________________________ 
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! 
Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses 
http://fr.answers.yahoo.com



Reply to: