io.popen
Creates a pipe and executes a command
Prototype
f = io.popen (command, mode)
Description
Creates a pipe and executes a command. Mode can be one of:
This is an example of using popen under the Linux Lua executable:
-
"r" - The calling process can read the spawned command’s standard output via the returned stream. This is the default.
"w" - The calling process can write to the spawned command’s standard input via the returned stream.
"b" - Open in binary mode.
"t" - Open in text mode.
This is an example of using popen under the Linux Lua executable:
f = assert (io.popen ("ls -l"))
for line in f:lines() do
print(line)
end -- for loop
f:close()
An alternative to using pipes, if you want to capture operating system output, is to redirect command output to a temporary file, like this:
-- get a temporary file name
n = os.tmpname ()
-- execute a command
os.execute ("dir > " .. n)
-- display output
for line in io.lines (n) do
print (line)
end
-- remove temporary file
os.remove (n)
Lua functions
- f:close - Closes a file
- f:flush - Flushes outstanding data to disk
- f:lines - Returns an iterator function for reading the file line-by-line
- f:read - Reads the file according to the specified formats
- f:seek - Sets and gets the current file position
- f:setvbuf - Sets the buffering mode for an output file
- f:write - Writes to a file
- io.close - Closes a file
- io.flush - Flushes outstanding data to disk for the default output file
- io.input - Opens filename for input in text mode
- io.lines - Returns an iterator function for reading a named file line-by-line
- io.open - Opens a file
- io.output - Opens a file for output
- io.read - Reads from the default input file
- io.stderr - File handle for standard error file
- io.stdin - File handle for standard input file
- io.stdout - File handle for standard output file
- io.tmpfile - Returns a handle to a temporary file
- io.type - Returns type of file handle
- io.write - Writes to the default output file
Topics
- Lua PCRE regular expression functions
- Lua base functions
- Lua bc (big number) functions
- Lua bit manipulation functions
- Lua coroutine functions
- Lua debug functions
- Lua io functions
- Lua math functions
- Lua os functions
- Lua package functions
- Lua script extensions
- Lua string functions
- Lua syntax
- Lua table functions
- Lua utilities
- Scripting callbacks - plugins
- Scripting