Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
up vote 4 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
share|improve this answer

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

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .