The −i Flag

The −i flag makes Expect run interactively. Expect will read commands from the standard input (which usually means the keyboard). This is useful if you are using the -c flag, which otherwise would have Expect exit after it finishes executing the given command.

Normally, the first argument to Expect is taken as a script name, but if you provide a −i flag, the argument is just passed uninterpreted. Compare the following invocations where "1“, "2“, and "3" are not intended as filenames. This can be useful if you are feeding Expect commands from a pipe into Expect’s standard input.

% expect 1 2 3
couldn't read file "1": No such file or directory
% expect −i 1 2 3
expect1.1> set argv
1 2 3
expect1.2>

In the simple case where there is no script name or -c flag, Expect runs interactively by default. So it is never necessary to say "expect -i" by itself. You could, but it is redundant.

Get Exploring Expect now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.