Vulnerabilities | |||||
---|---|---|---|---|---|
Version | Suggest | Low | Medium | High | Critical |
1.1.0 | 0 | 0 | 0 | 0 | 0 |
1.0.0 | 0 | 0 | 0 | 0 | 0 |
0.13.7 | 0 | 0 | 0 | 0 | 0 |
0.13.6 | 0 | 0 | 0 | 0 | 0 |
0.13.5 | 0 | 0 | 0 | 0 | 0 |
0.13.4 | 0 | 0 | 0 | 0 | 0 |
0.13.3 | 0 | 0 | 0 | 0 | 0 |
0.13.2 | 0 | 0 | 0 | 0 | 0 |
0.13.1 | 0 | 0 | 0 | 0 | 0 |
0.13.0 | 0 | 0 | 0 | 0 | 0 |
0.12.0 | 0 | 0 | 0 | 0 | 0 |
0.11.1 | 0 | 0 | 0 | 0 | 0 |
0.11.0 | 0 | 0 | 0 | 0 | 0 |
0.10.0 | 0 | 0 | 0 | 0 | 0 |
0.9.2 | 0 | 0 | 0 | 0 | 0 |
0.9.1 | 0 | 0 | 0 | 0 | 0 |
0.9.0 | 0 | 0 | 0 | 0 | 0 |
0.8.2 | 0 | 0 | 0 | 0 | 0 |
0.8.1 | 0 | 0 | 0 | 0 | 0 |
0.8.0 | 0 | 0 | 0 | 0 | 0 |
0.7.0 | 0 | 0 | 0 | 0 | 0 |
0.6.0 | 0 | 0 | 0 | 0 | 0 |
0.5.1 | 0 | 0 | 0 | 0 | 0 |
0.5.0 | 0 | 0 | 0 | 0 | 0 |
0.4.0 | 0 | 0 | 0 | 0 | 0 |
0.2.0 | 0 | 0 | 0 | 0 | 0 |
0.1.0 | 0 | 0 | 0 | 0 | 0 |
1.1.0 - This version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform
Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.
MIT - MIT LicenseDuct is a library for running child processes. Duct makes it easy to build pipelines and redirect IO like a shell. At the same time, Duct helps you write correct, portable code: whitespace is never significant, errors from child processes get reported by default, and a variety of gotchas, bugs, and platform inconsistencies are handled for you the Right Way™.
Run a command without capturing any output. Here "hi" is printed directly to the terminal:
use duct::cmd;
cmd!("echo", "hi").run()?;
Capture the standard output of a command. Here "hi" is returned as a
String
:
let stdout = cmd!("echo", "hi").read()?;
assert_eq!(stdout, "hi");
Capture the standard output of a pipeline:
let stdout = cmd!("echo", "hi").pipe(cmd!("sed", "s/i/o/")).read()?;
assert_eq!(stdout, "ho");
Merge standard error into standard output and read both incrementally:
use duct::cmd;
use std::io::prelude::*;
use std::io::BufReader;
let big_cmd = cmd!("bash", "-c", "echo out && echo err 1>&2");
let reader = big_cmd.stderr_to_stdout().reader()?;
let mut lines = BufReader::new(reader).lines();
assert_eq!(lines.next().unwrap()?, "out");
assert_eq!(lines.next().unwrap()?, "err");
Children that exit with a non-zero status return an error by default:
let result = cmd!("false").run();
assert!(result.is_err());
let result = cmd!("false").unchecked().run();
assert!(result.is_ok());