KSH Boucle for

KSH Boucle for - Shell/Batch - Programmation

Marsh Posté le 23-07-2008 à 17:11:06    

Salut à tous,
 
 
Voici mon code :
 

Code :
  1. LISTE=`cat file.txt`
  2. for queue in $LISTE
  3. do
  4.    cmd $queue
  5.    ...
  6. done


 
 
J'aimerais utiliser ma variable $LISTE comme un tableau c'est à dire un peu de cette façon en PHP :
 

Code :
  1. for ($i = 0; $i < count($LISTE); $i++)
  2.     echo $LISTE[$i]


 
 
Mais je ne vois pas comment faire en Shell....  :??:  
 
 
Pour info dans le file.txt j'ai des séries de nombres de 4 chiffres séparés par des /n
 
# cat file.txt
2070
1345
3487
...
 
L'intérêt étant à l'intérieur du for de pouvoir refaire une boucle pour utiliser les valeurs suivantes de $queue...
 
 
Merci d'avance pour votre aide


Message édité par Tonio94 le 23-07-2008 à 17:15:14
Reply

Marsh Posté le 23-07-2008 à 17:11:06   

Reply

Marsh Posté le 23-07-2008 à 17:37:42    

set -A LISTE $(cat file.txt)


 
Et pour accéder à un élément n de ta liste :

${LISTE[n]}

Reply

Marsh Posté le 24-07-2008 à 11:07:25    

J'ai une erreur sur le set, les ( ) ne passent pas et si je mets des { } il me dit bad substitution ou encore -A: bad options :(

Reply

Marsh Posté le 24-07-2008 à 11:13:17    

T'es bien en ksh ? Avec le shebang qui va bien ?

#! /bin/ksh


 
Sinon, pour la syntaxe $(commande), c'est exactement pareil que `commande`, c'est juste que je trouve ça plus facile à relire ensuite.

Reply

Marsh Posté le 24-07-2008 à 11:23:10    

Autant pour moi j'exécutais le script en faisant sh monscript.sh au lieu de lui donner les droits d'exécution et de faire ./monscript.sh.
 
Merci à toi Elmoricq :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed