| Crates.io | shell_exec |
| lib.rs | shell_exec |
| version | 0.2.1 |
| created_at | 2024-12-24 21:06:28.218215+00 |
| updated_at | 2025-04-25 02:06:03.642879+00 |
| description | Cross platform library to execute shell scripts |
| homepage | |
| repository | https://github.com/caido/shell_exec |
| max_upload_size | |
| id | 1494351 |
| size | 20,246 |
Execute shell scripts asynchronously on multiple platforms. The goal of the library is to provide a simple interface to execute a user provided script on any shell. We try to avoid as much as possible writing temporary files.
use std::time::Duration;
use shell_exec::{Execution, Shell};
let execution = Execution::builder()
.shell(Shell::Bash)
.cmd(
r#"
INPUT=`cat -`;
echo "hello $INPUT"
"#
.to_string(),
)
.timeout(Duration::from_millis(10000))
.build();
let data = execution.execute(b"world").await.unwrap();
assert_eq!(b"hello world"[..], data);