Man Linux: Main Page and Category List

NAME

       lua - Lua interpreter

SYNOPSIS

       lua [ options ] [ script [ args ] ]

DESCRIPTION

       lua  is  the  stand-alone  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.

       The given options (see below) are executed and then the Lua program  in
       file  script  is  loaded and executed.  The given args are available to
       script as strings in a global table  named  arg.   If  these  arguments
       contain  spaces  or  other  characters  special to the shell, then they
       should be quoted (but note that the  quotes  will  be  removed  by  the
       shell).   The  arguments  in  arg start at 0, which contains the string
       ‘script’.  The index of the last argument  is  stored  in  arg.n.   The
       arguments  given  in the command line before script, including the name
       of the interpreter, are available in negative indices in arg.

       At the very start, before even handling the command line, lua  executes
       the  contents  of  the environment variable LUA_INIT, if it is defined.
       If the value of LUA_INIT is of the form ‘@filename’, then  filename  is
       executed.   Otherwise,  the string is assumed to be a Lua statement and
       is executed.

       Options start with - and are described below.  You can use -- to signal
       the end of options.

       If  no  arguments  are  given,  then -v -i is assumed when the standard
       input is a terminal; otherwise, - is assumed.

       In interactive mode,  lua  prompts  the  user,  reads  lines  from  the
       standard input, and executes them as they are read.  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.  So, one way  to  interrupt  the  reading  of  an  incomplete
       statement  is  to force a syntax error: adding a ‘;’ in the middle of a
       statement is a sure way  of  forcing  a  syntax  error  (except  inside
       multiline strings and comments; these must be closed explicitly).  If a
       line starts  with  ‘=’,  then  lua  displays  the  values  of  all  the
       expressions  in  the  remainder  of  the  line. The expressions must be
       separated by commas.  The primary prompt is the  value  of  the  global
       variable  _PROMPT,  if  this  value is a string; otherwise, the default
       prompt is used.  Similarly, the secondary prompt is the  value  of  the
       global   variable  _PROMPT2.   So,  to  change  the  prompts,  set  the
       corresponding variable to a string of your choice.   You  can  do  that
       after calling the interpreter or on the command line with _PROMPT=´lua:
       ´, for example.  (Note the need for quotes, because the string contains
       a space.)  The default prompts are ‘‘> ’’ and ‘‘>> ’’.

OPTIONS

       -      load  and  execute  the  standard  input as a file, that is, not
              interactively, even when the standard input is a terminal.

       -e stat
              execute statement stat.  You need to quote stat if  it  contains
              spaces, quotes, or other characters special to the shell.

       -i     enter interactive mode after script is executed.

       -l file
              call  require(file)  before executing script.  Typically used to
              load libraries (hence the letter l).

       -v     show version information.

       -P     suppress the creation of a standard LUA_PATH variable. Use  this
              if  you need to run scripts which conflict with system-installed
              libraries.

SEE ALSO

       luac(1)
       http://www.lua.org/

DIAGNOSTICS

       Error messages should be self explanatory.

AUTHORS

       R. Ierusalimschy, L. H. de Figueiredo, and W. Celes

       <lua@tecgraf.puc-rio.br>

       Debian modifications to the manpage by Daniel Silverstone

       <dsilvers@debian.org>

                              2003/04/02 00:05:20                       LUA(1)