Eli User Interface Reference Manual
A command that includes an exclamation point (!) requests Eli to
execute a host command.
In its most general form, such a command consists of an odin-expression
followed by an exclamation-point and a host-command line.
Either the odin-expression or the host-command can be omitted:
-> input +cmd=(sets.specs:exe) :stdout !more -s
-> ! ls *.c
-> build.specs :exe !
-> commands !
The result of the command is to bring the object named by the
odin-expression up to date,
append its filename to the host-command line,
and give the resulting extended host-command line
to the host system for execution.
If the host-command is omitted, the object itself is executed.
If execute permission is set for the object,
it is given to the host operating system for execution;
otherwise, the object is assumed to contain
eli commands that
are executed by the interpreter.
The exclamation-point has the special lexical property that if the
first non-white space character following it
is not a colon, a semicolon, or an equal sign,
then the rest of the line is treated as a single escaped sequence of
This avoids the confusion resulting from interactions between host-command
and Eli character escape conventions.
A leading colon, equal sign, or white space character can be
included in the escaped sequence of characters by preceding it
with a backslash.