OVH Cloud OVH Cloud

Variable for avec espace

4 réponses
Avatar
Gérard Aubry
for i in `cat /admsys/test`
do ......


La liste de mes arguments dans le fichier test ne fonctionne pas
correctement quand un argument contient un espace.
Comment faire pour que $i contienne un espace ?

Merci
Aubryg@hager.fr

4 réponses

Avatar
Stephane Chazelas
2003-11-21, 16:17(+01), Gérard Aubry:
for i in `cat /admsys/test`
do ......


La liste de mes arguments dans le fichier test ne fonctionne pas
correctement quand un argument contient un espace.
Comment faire pour que $i contienne un espace ?


IFS='
'
set -f
for i in `cat /admsys/test`; do
...
done

ou

while IFS= read <&3 -r i; do
...
done 3< /admsys/test

Regarde les archives de fr.comp.os.unix ou de comp.unix.shell.
Et la page de man de ton shell ou
www.opengroup.org/onlinepubs/007904975/utilities/xcu_chap02.html


--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
Rakotomandimby
Gérard Aubry wrote:

La liste de mes arguments dans le fichier test ne fonctionne pas
correctement quand un argument contient un espace.
Comment faire pour que $i contienne un espace ?



for i in "`cat /admsys/test`"
do ......
??

Avatar
Gérard Aubry
IFS='
'
set -f
for i in `cat /admsys/test`; do
...
done




Super Merci

Je n'y comprend rien mais ça fonctionne


Avatar
Rakotomandimby
Gérard Aubry wrote:

Je n'y comprend rien mais ça fonctionne


euh ... faut pas que ça soit une habitude :-) lol