Expect is used to tie together multiple scripts or statements for which shell scripting is not quite powerful enough. From the man page: “In general, Expect is useful for running any program which requires interaction between the program and the user. All that is necessary is that the interaction can be characterized programmatically. Expect can also give the user back control (without halting the program being controlled) if desired. Similarly, the user can return control to the script at any time.”