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.