Probleme boucles bash

Probleme boucles bash - Shell/Batch - Programmation

Marsh Posté le 22-04-2011 à 17:45:04    

Bonjour,
 
Je débute en programmation bash/shell et après quelques recherches sur internet j'ai pu écrire un petit programme qui devrait me permettre d'exécuter automatiquement plusieurs centaines de fichiers.
 Cependant j'ai un problème (de boucle je pense ) que je n'arrive vraiment pas à résoudre.  
Voila mon code , simplifié mais qui affiche la même erreur :
 
fichier : test  
 
 
#!/bin/bash
 
i=1  
echo $i
 
while [ i < 10 ]
do
 echo $i
 $i++
done

 
 
je lance avec la commande "bash test" et le message retourné par le compilateur est toujours le même :
test: line 6: 10: No such file or directory
 
Pareil si je remplace le while par un for .  
 
Quelqu’un aurait-il une idée ? Merci d'avance
 
 

Reply

Marsh Posté le 22-04-2011 à 17:45:04   

Reply

Marsh Posté le 22-04-2011 à 18:36:57    

"i < 10" n'existe pas, je te conseille de faire un "man test".
La bonne syntaxe est "while [ $i -lt 10 ]"; d'ailleurs on utilise plutôt un for pour ce type de boucle.
"for ((i=0;i < 10;i++))"


Message édité par roondar le 22-04-2011 à 18:37:15
Reply

Marsh Posté le 22-04-2011 à 19:40:40    

He ben merci beaucoup, ça marche parfaitement même si je n'ai pas très bien compris pourquoi ma version ne fonctionnait pas, vu que je recopiait plein d'exemples du net et qu'il me semblait que cette syntaxe de boucle for était réservée au ksh (http://www.cyberciti.biz/faq/shell-script-while-loop-examples/)
 
Enfin bon , merci encore

Reply

Sujets relatifs:

Leave a Replay

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