Puoi farlo usando il tee
comando:
telnet $someIp | tee -a -i someFile
Expect ha un mezzo programmatico per avviare e interrompere la registrazione (o logginig). Dato un argomento di nome file, il log_file
Il comando apre il file e inizia a registrarlo. Se un file di registro è già aperto, il vecchio file viene chiuso per primo.
La registrazione viene eseguita aggiungendo al file, quindi se qualcosa è stato precedentemente memorizzato nel file, rimane. Per ricominciare, usa il -noappend
bandiera.
Puoi risparmiare spazio disattivando la registrazione quando non è necessaria. Ciò si ottiene chiamando log_file
senza argomenti. Ad esempio, il seguente frammento avvia la registrazione, esegue alcuni I/O, interrompe la registrazione, esegue altri I/O e quindi ricomincia a registrare.
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
# stop recording
log_file
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
Per impostazione predefinita, log_file
registra solo ciò che l'utente vede. Se log_user
Il comando è stato richiamato per sopprimere l'output da un programma generato, l'output soppresso non viene registrato da log_file poiché neanche l'utente lo vede. Il log_file
può registrare l'output soppresso usando il -a
flag (per "tutti gli output").
log_file -a log
Come prima, questa registrazione può essere disabilitata emettendo log_file senza argomenti. Per tornare alla registrazione di ciò che l'utente vede, richiamare log_file senza -a.
log_file -a log
expect . . . ; send . . .
log_file log
Riferimento:Exploring Expect