I am trying to automate the installation of a program through a shell script. There are a few steps which require user interaction from the command line (confirmation, yes/no, etc.). What is the best way to by-pass it? I know that one possibility is to use an expect script. Just wanted to know if there is a better/cleaner way to do this.

link|improve this question
feedback

2 Answers

up vote 1 down vote accepted

If the interaction is simple, i.e. only reads from the standard input, you can just send the particular lines to the program's input:

( echo yes ; echo 1024; echo yes ) | install.sh
link|improve this answer
feedback

If you want to do anything that doesn't just read from stdin (e.g. ftp login) you'll want to use expect.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.