[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux] Une bonne âme po u r m'expliquer le fonctionnement de 'read ' sous bash ?
On Wed, Jun 06, 2001 at 09:53:36AM +0200, Gonay Benjamin wrote:
>
> ça fait un moment que je vous suis sans rien dire, mais bon, allez, voici la
> bonne âme... :-)
>
> sous bash : res1=`echo "toto" | cut -c 1-2`
> echo $res1 => to
>
> De là, il est très facile de mettre n'importe quel résultat de commande shell en
> variables.
Oui, mais si tu fous ça dans une boucle, à chaque tour de la boucle, la
variable prend une autre valeur et il n'est plus possible que de récupérer
la dernière après la boucle.
Ce que je voulais faire était de chopper une valeur dans une variable à chaque
tour *ET* de récupérer ensuite *TOUTES* les valeurs successives des
différents tours après son exécution.
Apparemment, pour ça, soit je m'y prends mal, soit il n'y a pas moyen pour
bash de créer des nouvelles variables à la volée, une pour chaque instance
de la boucle SAUF en utilisant une "array".
for x in $(seq 10)
do
brol_$x="$(retour-d'une-commande)"
done
ne marche pas. (l'idée était de récupérer ensuite les contenus de brol_1 à
brol_10).
Par contre :
for x in $(seq 10)
do
brol[$x]="$(retour-d'une-commande)"
done
fonctionne, et les différentes valeurs sont toutes des éléments de brol (qui
devient une array) et qu'on récupère avec ${brol[1]} et ainsi de suite.
En faisant ensuite :
for i in "${brol[@]}"
do
echo $i
done
Je récupère les valeurs successives des commandes de plus haut.
> Maintenant, pour des traitements un tant soit peu plus complexe,
> awk est un superbe outil.
Minute, Papillon, chaque chose en son temps :-)
Pour l'instant c'est encore du javanais, mais j'y arrive : c'est justement le
chapitre suivant de mon livre de chevet.
--
J.-F. STRAETEN
---
Mutt 1.3.7i.
Powered by SuSE Linux 6.4
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php ]
[ http://LinuxBe.org Contact: listmaster@linuxbe.org ]