lua is the standalone Lua interpreter.
It loads and executes Lua programs,
either in textual source form or
in precompiled binary form.
(Precompiled binaries are output by
luac, the Lua compiler.)
lua can be used as a batch interpreter and also interactively.
options are handled in order and then
the Lua program in file
script is loaded and executed.
args are available to
script as strings in a global table named
arg. If no options or arguments are given,
-v -i is assumed when the standard input is a terminal;
- is assumed.
In interactive mode,
lua prompts the user,
reads lines from the standard input,
and executes them as they are read.
If the line contains an expression or list of expressions,
then the line is evaluated and the results are printed.
If a line does not contain a complete statement,
then a secondary prompt is displayed and
lines are read until a complete statement is formed or
a syntax error is found.
At the very start,
before even handling the command line,
lua checks the contents of the environment variables
LUA_INIT, in that order.
If the contents is of the form
filename is executed.
Otherwise, the string is assumed to be a Lua statement and is executed.