In this chapter, I will cover Expect’s command-line arguments and describe more about how Expect scripts fit in with other UNIX utilities. I will also focus on the difference between running Expect interactively versus non-interactively.
To the operating system, Expect is just another program. There is nothing special about it. For example, it has attributes similar to many other programs you are familiar with:
Expect has standard input, standard output, and standard error. They can be read from and written to. They can be redirected.
Expect can be run in the background from the command-line using
& or from
Expect can be called from other programs, such as C programs, shell scripts,
awk scripts, and even other Expect scripts.
Expect is also an interpreter, and it shares attributes of most other interpreters:
Expect supports the
Expect can be run interactively, taking commands from the keyboard, or non-interactively, taking commands from scripts or standard input.
Expect takes flags or can pass them on to scripts.
Like most interpreters, Expect takes a file name as an argument, and uses it as a source from which to read commands.
If you want to pass additional information to the script, you can do so just by putting it at the end of the command line.
expect script.exp foo bar 17
Inside the script, this information can be found in the variable
argv. The value of
argv can be manipulated as ...