13 个版本 (破坏性更新)
使用旧的 Rust 2015
0.12.2 | 2018 年 11 月 23 日 |
---|---|
0.11.0 | 2018 年 10 月 1 日 |
0.10.0 | 2018 年 7 月 2 日 |
0.6.1 | 2018 年 3 月 13 日 |
#1602 在 Rust 模式
每月 203 次下载
在 cargo-scriptify 中使用
40KB
832 行
commandspec
简单的 Rust 宏,用于构建 std::process::Command
对象。使用 macro_rules! 并在稳定版上工作。
[dependencies]
commandspec = "0.10"
然后
#[macro_use]
extern crate commandspec;
use commandspec::CommandSpec; // .execute() method on Command
use std::process::Command;
let result = execute!(
r"
cd path/location
export RUST_LOG=full
export RUST_BACKTRACE=1
cargo run {release_flag} --bin {bin_name} -- {args}
",
release_flag=Some("--release"),
bin_name="binary",
args=vec!["arg1", "arg2"],
)?;
// result = Ok(()) on success (error code 0), Err(CommandError) for all else
commandspec 输入的格式,按顺序
- (可选)
cd <path>
设置命令的当前工作目录,其中 path 可以是字面量、引号字符串或格式变量。 - (可选) 一行或多行
export <name>=<value>
用于设置环境变量,具有相同的格式选项。 - 最后,一个要调用的命令,可选地带有格式参数。
功能
- 类似于格式的调用使得插值变量变得容易,并且自动加引号
- 当原型设计时具有与 shell 相似的语法
- 在稳定版 Rust 上工作。
许可
MIT 或 Apache-2.0,任选其一。
依赖
~2MB
~40K SLoC