Existe um programa para interagir com ferramentas de linha de comando interativas exatamente como o exemplo ftp
: expect
. É um shell de script especializado, estendendo a linguagem de script tcl
.
É muito poderoso, mas você pode sair sem aprender tudo sobre ele. Uma ferramenta muito útil é autoexpect
, que pode gravar uma sessão interativa como um script esperado. O roteiro gravado é certamente útil para entender o básico.
Um script expect
pode interagir com um programa interativo como ftp
.
Isso pode ser combinado com a interação do usuário e o programa interativo. Usando o comando interact
em um script expect
, o controle pode ser dado temporariamente ao usuário.
Enquanto o usuário tem controle, o script ainda ouve eventos para retomar o controle, então, praticamente, tanto o usuário quanto o script estão interagindo simultaneamente com o programa.