Here is my use case for expect script ( one of few i have)
I want to run multiple sed
command over ssh. Its like pre-build environment setup. I want to run something like this :-
#!/usr/bin/expect set timeout -1 spawn -noecho bash -c "ssh -t user@host 'sed -i <some_stuff1> <file1>'" spawn -noecho bash -c "ssh -t user@host 'sed -i <some_stuff2> <file2>'" spawn -noecho bash -c "ssh -t user@host 'sed -i <some_stuff3> <file3>'" expect { -re ".*sword.*" { exp_send "$env(PASS_WORD)\n" exp_continue } }
But only last sed
command will execute. 1st and 2nd will be skipped.
What could be the hidden gem i am missing?
Here is what i looked at so far but not helpful
Handle multiple statement in expect script
Expect script: How to handle two processes?
Handling multiple process simuntaneously - safari online book