#script #template #cmd #byte #ping #ms

rscripter

用于Rust编写脚本的模板

2个版本

0.1.1 2022年3月4日
0.1.0 2022年3月4日

#299 in 模板引擎

MIT许可证

9KB
197

rscripter

推荐快速设置

我建议利用 cargo-generate

  1. 如果你还没有 cargo-generate,请安装它
cargo install cargo-generate
  1. 使用此模板生成你的仓库
cargo generate -n my-rust-scripts aQaTL/rscripter 

查看 examples 目录中的示例。

  1. 假设你想创建一个ping 1.1.1.1 3次的脚本。
  • 首先在 src/bin/ 创建一个文件
/// src/bin/ping_cldflr.rs

use rscripter::*;

fn main() -> Result<(), Box<dyn std::error::Error>> {
	cmd!("ping", "-c", "3", "1.1.1.1")?;
	
	Ok(())
}
  • 测试它
$ cargo run --bin ping_cldflr
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `target/debug/ping_cldflr`
ping -c 3 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=56 time=51.9 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=56 time=51.7 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=56 time=43.6 ms

--- 1.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 43.574/49.041/51.858/3.866 ms
  • 你可以从 bin 目录安装所有脚本
cargo install --path . -f
  • 现在你可以在任何地方使用这些脚本而不需要cargo
me@pc:~$ ping_cldflr
ping -c 3 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=56 time=51.9 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=56 time=51.7 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=56 time=43.6 ms
me@pc:~$ 

无运行时依赖