interactive lua: command line arguments

If you run file.lua in cmd of freeswitch

freeswitch> luarun prog.lua arg1

You can use prog.lua:

#print(argv[1])

And run: $lua prog.lua arg1 (run in script folder) You can use prong.lua:

#print(arg[1])

You're missing the arg vector, which has the elements you want in arg[1], arg[2], and so on:

% lua -i -- /dev/null one two three
Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print(arg[2])
two
> 

More info in the Lua manual section on Lua standalone (thanks Miles!).


Lua stores arguments in a table. This table is the "arg" table. You can access the passed arguments inside using arg[1], arg[2], ...

arg[0] is the name of the lua program. arg[1] is the first argument passed, arg[2] is the second argument passed and so on...


In addition to the arg table, ... contains the arguments (arg[1] and up) used to invoke the script.

% lua -i -- /dev/null one two three
Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print(...)
one     two     three