Vous pouvez le faire en utilisant le tee
commande :
telnet $someIp | tee -a -i someFile
Attendez-vous à un moyen programmatique pour démarrer et arrêter l'enregistrement (ou la connexion). Étant donné un argument de nom de fichier, le log_file
La commande ouvre le fichier et commence à y enregistrer. Si un fichier journal est déjà ouvert, l'ancien fichier est d'abord fermé.
L'enregistrement est effectué en ajoutant au fichier, donc si quelque chose a déjà été stocké dans le fichier, il reste. Pour recommencer, utilisez le -noappend
drapeau.
Vous pouvez économiser de l'espace en désactivant la journalisation lorsqu'elle n'est pas nécessaire. Ceci est accompli en appelant log_file
sans arguments. Par exemple, le fragment suivant démarre l'enregistrement, effectue des E/S, arrête l'enregistrement, effectue d'autres E/S, puis recommence l'enregistrement.
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
# stop recording
log_file
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
Par défaut, log_file
enregistre uniquement ce que l'utilisateur voit. Si le log_user
a été invoquée pour supprimer la sortie d'un programme généré, la sortie supprimée n'est pas enregistrée par log_file car l'utilisateur ne la voit pas non plus. Le log_file
peut enregistrer la sortie supprimée en utilisant le -a
drapeau (pour "toutes les sorties").
log_file -a log
Comme précédemment, cette journalisation peut être désactivée en émettant log_file sans arguments. Pour revenir à la journalisation uniquement de ce que l'utilisateur voit, appelez log_file sans le -a.
log_file -a log
expect . . . ; send . . .
log_file log
Référence :Explorer Expect