Můžete to udělat pomocí tee
příkaz:
telnet $someIp | tee -a -i someFile
Expect má programové prostředky pro spuštění a zastavení nahrávání (nebo loggining). Daný argument názvu souboru, log_file
příkaz otevře soubor a začne do něj nahrávat. Pokud je soubor protokolu již otevřen, starý soubor se nejprve zavře.
Nahrávání se provádí připojením k souboru, takže pokud bylo do souboru dříve něco uloženo, zůstane. Chcete-li začít znovu, použijte -noappend
vlajka.
Můžete ušetřit místo vypnutím protokolování, když to není nutné. Toho se dosáhne voláním log_file
bez argumentů. Například následující fragment začne nahrávat, provede nějaké vstupy/výstupy, zastaví nahrávání, provede další vstupy a výstupy a poté začne znovu nahrávat.
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
# stop recording
log_file
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
Ve výchozím nastavení log_file
zaznamenává pouze to, co uživatel vidí. Pokud log_user
byl vyvolán příkaz k potlačení výstupu z vytvořeného programu, potlačený výstup není zaznamenán souborem log_file, protože jej uživatel také nevidí. log_file
můžete zaznamenat potlačený výstup pomocí -a
příznak (pro "všechny výstupy").
log_file -a log
Stejně jako dříve lze toto protokolování zakázat vydáním souboru log_file bez argumentů. Chcete-li se vrátit k protokolování právě toho, co uživatel vidí, vyvolejte soubor_protokolu bez -a.
log_file -a log
expect . . . ; send . . .
log_file log
Reference:Exploring Expect