just

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Just

Discovery

  • just --dump
    Print justfile
  • just --evaluate
    Print variable values
  • just --help
    Print detailed command-line syntax help
  • just --list
    Print recipes with descriptions
  • just --show <RECIPE>
    Print recipe source
  • just --summary
    Print recipes without descriptiosn

Execution

  • just
    Run default recipe
  • just <RECIPE>
    Run specific recipe
  • just <RECIPE> <ARG1> <ARG2
    Run recipe with arguments

Syntax

just
executable := 'main'

Just

查询命令

  • just --dump
    打印justfile内容
  • just --evaluate
    打印变量值
  • just --help
    打印详细的命令行语法帮助
  • just --list
    打印带描述的recipe
  • just --show <RECIPE>
    打印指定recipe的源码
  • just --summary
    打印不带描述的recipe

执行命令

  • just
    运行默认recipe
  • just <RECIPE>
    运行指定recipe
  • just <RECIPE> <ARG1> <ARG2
    运行带参数的recipe

语法示例

just
executable := 'main'

compile main.c

compile main.c

compile: cc main.c -o {{ executable }}
compile: cc main.c -o {{ executable }}

run main

run main

run: compile ./{{ executable }}
run: compile ./{{ executable }}

run test

run test

test name: compile ./bin/test {{ name }}
test name: compile ./bin/test {{ name }}

start webserver

start webserver

serve port='8080': python -m http.server {{port}}
serve port='8080': python -m http.server {{port}}

publish current tag

publish current tag

publish: #!/usr/bin/env bash set -euxo pipefail tag=
git describe --tags --exact-match
./bin/check-tag $tag git push origin $tag

Notes
-----

The comment proceeding a recipe is used as its doc-comment, and included in
`just --list`.

By default, each line of a recipe runs in a fresh shell. Recipes whose bodies
start with `#!` are written to a file and executed as a script.

Commonly used commands and scripts should be turned into `just` recipes.
publish: #!/usr/bin/env bash set -euxo pipefail tag=
git describe --tags --exact-match
./bin/check-tag $tag git push origin $tag

注意事项
-----

recipe前的注释会作为其文档注释,包含在`just --list`的输出中。

默认情况下,recipe的每一行都会在新的shell中运行。以`#!`开头的recipe内容会被写入文件并作为脚本执行。

常用的命令和脚本应转换为`just`的recipe。