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

Pourquoi smbpasswd -a "toto" -s <<EOF ne fonctionne pas ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-04-2005 à 00:01:50    

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.
 

Code :
  1. t="weed";
  2.         pass="weed";
  3.         smbpasswd -a $t -s <<EOF
  4.         $pass
  5.         $pass
  6.         EOF


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

Code :
  1. # ./add
  2. ./add: line 186: syntax error: unexpected end of file


 
Pourquoi donc ?

Reply

Marsh Posté le 11-04-2005 à 00:01:50   

Reply

Marsh Posté le 11-04-2005 à 14:49:52    

up

Reply

Marsh Posté le 11-04-2005 à 22:54:55    

Montre un peu comment tu l'insere dans ton script qui marche parfaitement ?

Reply

Marsh Posté le 12-04-2005 à 02:40:48    

Code :
  1. #list : fichier de configuration
  2. tlist=`cat list`;
  3. echo "$tlist";
  4. for i in $tlist
  5. do
  6. t="alex";
  7. pass="alex";
  8. smbpasswd -a $t -s <<EOF
  9. $pass
  10. $pass
  11. EOF
  12. done


 
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.

Reply

Marsh Posté le 12-04-2005 à 04:26:02    

Met le EOF complètement à gauche, sans indentation.

Reply

Marsh Posté le 12-04-2005 à 08:44:26    

et les $pass sans indentation aussi pour éviter les éventuelles surprises.

Reply

Marsh Posté le 12-04-2005 à 08:56:46    

Je crois que cette commande ne fonctionne plus sur smbpasswd
 
 
Utilise plutot un truc du style :
 
echo -e (-n ??) password\npassword | smbpasswd -a -s
 
Je pourrais te dire ca du boulot d'ici une demi heure ;)


---------------
:wq
Reply

Marsh Posté le 12-04-2005 à 09:57:41    

echo -e "password\npassword" | smbpasswd -a user -s

Reply

Marsh Posté le 12-04-2005 à 11:41:38    

matafan, merci à toi en effet lorsque je mets EOF sans indentation cela fonctionne.  
[Albator], y a pas besoin de mettre pass en indentation apparrement.

Reply

Marsh Posté le 12-04-2005 à 11:53:46    

Cela dit je vais quand meme utilisé la methode de M300A, j'utilise une vieille Fedora Core2 avec une ancienne version de samba, donc la commande avec les EOF fonctionne mais autant prendre des bonnes habitudes dès le debut et utilisé la méthode de M300A.

Reply

Marsh Posté le 12-04-2005 à 11:53:46   

Reply

Marsh Posté le 12-04-2005 à 13:08:28    

Les versions samba recentes n'acceptent plus ta syntaxe ;)

Reply

Sujets relatifs:

Leave a Replay

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