5 ms·
Based on my understanding/recollection of `expect`, the concept is that you're scripting a command/process (or command sequence) via a "terminal connection" (or
by follower 2y ago
Based on my understanding/recollection of `expect`, the concept is that you're scripting a command/process (or command sequence) via a "terminal connection" (or basic stdin/stdout), based on the (either complete or partial) "expected" dialogue response.
e.g.
1. make initial connect over ssh (e.g. spawn ssh cli process)
2. expect "login: " response
3. send "admin"
4. expect "password: " response
5. send "password"
6. expect "$ "
7. send "whoami\n"
8. etc etc
I guess that might in theory be possible to script a TUI with but I suspect it'd get pretty convoluted over an extended period of time.
(BTW I mentioned this in a comment elsewhere in this thread but check out https://crates.io/crates/termwiz https://crates.io/crates/termwiz to avoid re-inventing the wheel for a bunch of terminal-related functionality.)