Boucle FOR dans un script Bash
Résolu
pcsystemd
Messages postés
702
Date d'inscription
Statut
Membre
Dernière intervention
-
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Boucle FOR dans un script Bash
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Bingo bash - Télécharger - Divers Jeux
- Idm for mac - Télécharger - Téléchargement & Transfert
4 réponses
Salut,
Les quotes sont la clé du problème :
;-))
Les quotes sont la clé du problème :
$ cat plop client : un site global client : un site global particulier client : un site privé client : un site privé particulier $ A=$(cat plop) $ echo $A # Sans quotes client : un site global client : un site global particulier client : un site privé client : un site privé particulier $ echo "$A" # Avec quotes client : un site global client : un site global particulier client : un site privé client : un site privé particulier $ for i in ${A};do echo "${i}";done # Sans quotes client : un site global client : un site global particulier client : un site privé client : un site privé particulier $ for i in "${A}";do echo "${i}";done # Avec quotes client : un site global client : un site global particulier client : un site privé client : un site privé particulier $
;-))
Bonjour zipe31,
merci pour ta réponse rapide(toujours là ;-))
il y a de l'amélioration avec ta solution sauf que maintenant j'ai ceci :
ce qui ne va pas.
Si je traiter le séparateur au niveau du fichier avec ISF?
Qu'en penses tu?
merci pour ta réponse rapide(toujours là ;-))
il y a de l'amélioration avec ta solution sauf que maintenant j'ai ceci :
select a.id,count(c.id) from client c, local a where c.idfer=a.id and orga='\''client : un site global client : un site global particulier client : un site privé client : un site privé particulier'\'' group by a.id order by a.id;
ce qui ne va pas.
Si je traiter le séparateur au niveau du fichier avec ISF?
Qu'en penses tu?
Effectivement j'avais négligé le problème causé par la boucle "for".
Le plus simple est d'utiliser une boucle "while" et le fichier directement plutôt qu'une variable, comme suit :
Si tu tiens à conservé la variable, ceci marche aussi :
;-))
Le plus simple est d'utiliser une boucle "while" et le fichier directement plutôt qu'une variable, comme suit :
$ while read line; do echo "ligne = $line";done < plop ligne = client : un site global ligne = client : un site global particulier ligne = client : un site privé ligne = client : un site privé particulier
Si tu tiens à conservé la variable, ceci marche aussi :
done <<<"${A}"
;-))
j'ai essayé avec while mais du coup j'ai plus rien :
J'ai pas du comprendre. Voila ce que j'ai dans mon script :
C'est bien ça?
Merci
select a.id,count(c.id) from client c, local a where c.idfer=a.id and orga='\'''\'' group by a.id order by a.id;
J'ai pas du comprendre. Voila ce que j'ai dans mon script :
while read line; do echo "ligne = $line";done < monfichier.lst req="select a.id,count(c.id) from client c, local a where c.idfer=a.id and orga='${line}' group by a.id order by a.id;"
C'est bien ça?
Merci