40 lines
1.0 KiB
Markdown
40 lines
1.0 KiB
Markdown
The Shell API provides functions for running shell commands and interacting with processes.
|
|
|
|
### shell.run(cmd, args)
|
|
Runs a shell command and returns its output.
|
|
|
|
Parameters:
|
|
- `cmd`: The command to run
|
|
- `args`: Array of arguments to pass to the command
|
|
|
|
Returns an object with:
|
|
- `stdout`: The standard output of the command
|
|
- `stderr`: The standard error of the command
|
|
- `code`: The exit code of the command
|
|
|
|
Example:
|
|
```lua
|
|
local result = shell.run("ls", {"-l"})
|
|
print("Output:", result.stdout)
|
|
print("Error:", result.stderr)
|
|
print("Exit code:", result.code)
|
|
```
|
|
|
|
### shell.spawn(cmd, args)
|
|
Runs a shell command with streaming I/O, allowing interaction with the process.
|
|
|
|
Parameters:
|
|
- `cmd`: The command to run
|
|
- `args`: Array of arguments to pass to the command
|
|
|
|
Returns a ShellStream object with methods:
|
|
- `send(data)`: Send data to the process stdin
|
|
- `kill(signal)`: Send a signal to the process
|
|
- `close()`: Close the connection
|
|
|
|
Example:
|
|
```lua
|
|
local stream = shell.spawn("cat", {})
|
|
stream.send("Hello\n")
|
|
stream.close()
|
|
``` |