I can’t think of much I’d use it for today. Ansible is far better.
It was mostly helpful when you had to deal with a mainframe terminal program that was otherwise impossible to automate.
I can’t think of much I’d use it for today. Ansible is far better.
It was mostly helpful when you had to deal with a mainframe terminal program that was otherwise impossible to automate.
When you need "expect", it's wonderful.
And if you are going for solid production, you probably want to re-implement "expect" anyway -- so all input is whitelisted and unexpected messages are flagged. You probably don't what to break your expensive 1990's industrial device because you were driving it with expect script, and it cheerfully ignored "WARNING RESERVE BATTERY DEAD, REPLACE BEFORE POWER OFF" messages.
* to deploy commercial software whose configuration is only through an interactive terminal session and stored in an undocumented binary format
* to drive gdb to inspect a suspect Red Hat 6 "will not fix" GUI component that can go into an "impossible" pure cpu loop, to determine whether to kill it or whether it's busy in a more benign state.
Edit: the deploy is invoked by ansible, whose own expect module recommends the real expect "for complex cases"Edit: and Guile
- to deploy commercial software whose configuration is only through an interactive terminal session and stored in an undocumented binary format
- to drive gdb to inspect a suspect Red Hat 6 "will not fix" GUI component that can go into an "impossible" pure cpu loop, to determine whether to kill it or whether it's busy in a more benign state.