5 个版本

0.1.7 2024 年 5 月 13 日
0.1.6 2024 年 3 月 25 日
0.1.5 2024 年 1 月 3 日

#2308命令行实用程序

Download history 159/week @ 2024-05-11 19/week @ 2024-05-18 1/week @ 2024-05-25 2/week @ 2024-06-08 1/week @ 2024-06-15 1/week @ 2024-06-29 23/week @ 2024-07-06 47/week @ 2024-07-27

每月 70 次下载

MIT 许可证

23KB
569

DOIT

为懒惰的人设计的简单任务运行器。

安装

cargo install --git https://github.com/jacobaclarke/doit-cli.git
cargo install doit-cli

使用方法

入门

# do.yaml
env:
  NAME: world
tasks:
  hello:
    cmd: echo $GREETING $NAME
    env:
      GREETING: Hello
$ doit hello
Hello world

并行执行

# do.yaml
tasks:
  hello:
    cmd:
      - echo "hello"
      - echo "world"
$ doit hello
hello
world

环境变量

全局环境变量

# do.yaml
env:
  NAME: world
tasks:
  hello:
    cmd: Hello $NAME
$ doit hello
Hello world

从 Shell 覆盖环境变量

# do.yaml
env:
  NAME: jimmy
tasks:
  hello:
    cmd: Hello $NAME
$ NAME=world doit hello
Hello world

从任务覆盖环境变量

# do.yaml
env:
  NAME: jimmy
tasks:
  hello:
    cmd: Hello $NAME
    env:
      NAME: world
$ doit hello
Hello world

子目录

├── parent
│   ├── child
├── do.yaml
# /parent/do.yaml
task:
  pwd:
    cmd: pwd
$ cd child
$ doit pwd
/parent

本地子目录

├── parent
│   ├── child
├── do.yaml
# /parent/do.yaml
task:
  pwd:
    cmd: pwd
    local: true
$ cd child
$ doit pwd
/parent/child

嵌套 do.yaml 文件

# /parent/do.yaml
task:
  hello:
    cmd: echo hello world
# /parent/child/do.yaml
task:
  greet:
    cmd: doit hello
$ cd child
$ doit greet
hello world

依赖

~6–18MB
~211K SLoC