Pourquoi smbpasswd -a "toto" -s <<EOF ne fonctionne pas ?

Lorsque j’execute ce code tout dans un fichier, cela fonctionne bien. Cela créé ou cela change bien le pass de l’utilisateur samba weed.

[cpp] t=“weed”;
pass=“weed”;
smbpasswd -a $t -s <<EOF
$pass
$pass
EOF[/cpp]

Mais lorsque je l’insere dans un de mes scripts qui fonctionne parfaitement j’ai toujours à cette erreur :

[cpp]# ./add
./add: line 186: syntax error: unexpected end of file[/cpp]

Pourquoi donc ?

Erreur sur la ligne 186. Y a quoi ligne 186 ?

la fin du programme ? :stuck_out_tongue:
tu n’aurai pas oublier un " ou ’ ou encore ` par hasard ou encore un exit ?

oui c’est la fin du fichier exact.

je ne pense pas avoir oublier un ’ ou un " ou encore ` car mon script se lance bien lorsque je mets en commenataire ces lignes.

Balance tout pour voir

[cpp]#list : fichier de configuration
tlist=cat list;
echo “$tlist”;

for i in $tlist
do
t=“alex”;
pass=“alex”;
smbpasswd -a $t -s <<EOF
$pass
$pass
EOF
done[/cpp]

en fin de compte mon code peux se resumer a ca, des que je supprime la boucle for, cela fonctionne.
C’est la boucle for qui coince.

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

up

il te sert à quoi le “i” dans le “for” ???

Et à mon avis, vu que $tlist est un tableau, c’est ${tlist} ou {$tlist} (j’sais plus et j’ai la flemme de chercher pour toi :P)