attendez met écrire ce fichier

Je suis en train d'écrire un script expect qui ssh en plusieurs IPs pour tester leur connectivité. Je voudrais inclure un "met" déclaration d'écrire le résultat de chaque test dans un fichier sur la machine de l'appel du script. Bien que je pense que je suis en suivant le manuel met à écrire dans un fichier, il écrit sur la sortie standard stdout. Veuillez voir le script ci-dessous. Le résultat final est que le fichier est créé sur la machine locale, mais pas de sortie est dirigée vers elle. Au lieu de cela, la sortie passe à stdout.

#!/bin/bash

USER=user
PASSWORD=password
IPSTART=12.34.56.
OUTFILE="TEST.log"
PROMPT="#"

for IPEND in `seq 200 231`
do

expect -c "
        set timeout 3
        set chan [open $OUTFILE w]
        spawn ssh $USER@$IPSTART$IPEND
                expect -re \".*ssword.*\" {send \"$PASSWORD\n\"}

                expect {
                        -re \".*Are you sure you want to continue connecting.*\" {send \"yes\n\"; exp_continue}
                        -re \".*$PROMPT.*$.*\"  {puts $chan \"$IPSTART$IPEND\n\"; send \"exit\n\"}
                }

        close $chan
"

done

Je me demandais si il pourrait y avoir un problème avec les citations, mais je ne peux pas le comprendre.

Pour la référence, c'est l'exemple de http://www.tcl.tk/man/tcl8.4/TclCmd/puts.htm

set chan [open my.log a]
set timestamp [clock format [clock seconds]]
puts $chan "$timestamp - Hello, World!"
close $chan
InformationsquelleAutor Rusty Lemur | 2012-10-24