expect
pode registrar uma transação de sessão e pode ficar desacompanhado após alguma entrada de interação inicial. Isso permitirá que você execute um comando, interaja com ele e digite ~.
para entregar as coisas para expect
até que o programa saia. Enquanto isso, o out.1535209800
ou o que quer que possa ser inspecionado.
#!/usr/bin/env expect
log_file out.[clock seconds]
spawn -noecho sh ;# here be the command to run
interact {
~. { return } ;# type this when done interacting
~~ { send "~" } ;# or this to get a literal ~ in the shell
}
if {[catch {
expect {
eof { exit }
match_max { exp_continue }
timeout { exp_continue }
}
} oops ]} { puts stderr $oops; exit 1 }