Skip to main content

CommandExt

Trait CommandExt 

Source
pub trait CommandExt {
    // Required methods
    fn command_success(&mut self) -> bool;
    fn command_run(&mut self) -> Result<()>;
    fn command_output(&mut self) -> Result<Output>;
    fn command_status(&mut self) -> Result<ExitStatus>;
    fn command_stdout(&mut self) -> Option<String>;
    fn command_stderr(&mut self) -> Option<String>;
    fn command_spawn(&mut self) -> Result<Child>;
    fn command_line(&self) -> String;
}
Expand description

std::process::Command 的扩展。

CommandExt::command_run、CommandExt::command_output、CommandExt::command_status 与 CommandExt::command_spawn 只在命令无法执行时报错,退出码由调用方判断; CommandExt::command_success、CommandExt::command_stdout 与 CommandExt::command_stderr 则把「无法执行」与「未成功退出」统一按失败处理,用于探测类调用。

Required Methods§

Source

fn command_success(&mut self) -> bool

执行命令并返回是否成功;命令无法执行或退出码非零时为假,不向上报错。

Source

fn command_run(&mut self) -> Result<()>

执行命令并检查退出码;失败时把命令行、退出码与完整输出一起报错。

Source

fn command_output(&mut self) -> Result<Output>

执行命令并返回完整输出;仅命令无法执行时报错。

Source

fn command_status(&mut self) -> Result<ExitStatus>

执行命令并返回退出状态;仅命令无法执行时报错。

Source

fn command_stdout(&mut self) -> Option<String>

执行命令并返回标准输出;命令无法执行或退出码非零时返回 None。

用于状态探测:探测失败与「探测结果为否」由调用方统一按否处理,不作为错误向上传播。

Source

fn command_stderr(&mut self) -> Option<String>

执行命令并返回标准错误;命令无法执行或退出码非零时返回 None。

Source

fn command_spawn(&mut self) -> Result<Child>

启动命令并立即返回子进程句柄,不等待其结束。

Source

fn command_line(&self) -> String

命令行文本:程序与参数以空格连接,用于展示与错误信息。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl CommandExt for Command

Implementors§