1 个不稳定版本
0.1.1 | 2019年6月27日 |
---|---|
0.1.0 |
|
59 在 #cmd
29 每月下载量
23KB
562 代码行
async
async
是一个用于并行运行 shell 命令的工具,旨在通过最小更改快速并行化 shell 脚本。它受到 GNU Parallel 的启发,主要区别在于 async
通过在后台运行服务器来保留命令之间的状态。
用法
有关命令行界面的所有信息均可通过使用 async --help
获取。以下是如何使用 async
并行化命令的示例
#!/bin/bash
S="/tmp/example_socket"
async -s="$S" server --start
for i in {1..20}; do
# prints command output to stdout
async -s="$S" cmd -- bash -c "sleep 1 && echo test $i"
done
# wait until all commands are finished
async -s="$S" wait
# configure the server to run four commands in parallel
async -s="$S" server -j4
mkdir "/tmp/ex_dir"
for i in {21..40}; do
# redirects command output to /tmp/ex_dir/file*
async -s="$S" cmd -o "/tmp/ex_dir/file$i" -- bash -c "sleep 1 && echo test $i"
done
async -s="$S" wait
# stops server
async -s="$S" server --stop
如果您遇到意外错误或崩溃,请通过设置环境变量 RUST_LOG=debug
来开启日志记录,并在 Github 仓库中提交问题。
安装
async
可以使用 cargo 通过 cargo install async-cmd
或从 AUR 安装。
依赖
~4–14MB
~144K SLoC