变量和替换
支持在变量、字符串、拼接、路径连接和替换中使用 {{…}}
:
tmpdir := `mktemp -d`
version := "0.2.7"
tardir := tmpdir / "awesomesauce-" + version
tarball := tardir + ".tar.gz"
publish:
rm -f {{tarball}}
mkdir {{tardir}}
cp README.md *.c {{tardir}}
tar zcvf {{tarball}} {{tardir}}
scp {{tarball}} me@server.com:release/
rm -rf {{tarball}} {{tardir}}
路径拼接
/
操作符可用于通过斜线连接两个字符串:
foo := "a" / "b"
$ just --evaluate foo
a/b
请注意,即使已经有一个 /
,也会添加一个 /
:
foo := "a/"
bar := foo / "b"
$ just --evaluate bar
a//b
也可以构建绝对路径1.5.0:
foo := / "b"
$ just --evaluate foo
/b
/
操作符使用 /
字符,即使在 Windows 上也是如此。因此,在使用通用命名规则(UNC)的路径中应避免使用 /
操作符,即那些以 \?
开头的路径,因为 UNC 路径不支持正斜线。
转义 {{
想要写一个包含 {{
的配方,可以使用 {{{{
:
braces:
echo 'I {{{{LOVE}} curly braces!'
(未匹配的 }}
会被忽略,所以不需要转义)
另一个选择是把所有你想转义的文本都放在插值里面:
braces:
echo '{{'I {{LOVE}} curly braces!'}}'
然而,另一个选择是使用 {{ "{{" }}
:
braces:
echo 'I {{ "{{" }}LOVE}} curly braces!'