我想每次应用 chezmoi 配置时运行一个脚本,但我不知道如何配置 chezmoi 以便它不会显示为差异。例如,我在 chezmoi 目录的根目录中创建了一个
run_hello_world.sh.tmpl
文件,如下所示:
❯ cat run_hello_world.sh.tmpl
#!/usr/bin/env bash
echo "Hello, world!"
我希望
chezmoi diff
不返回任何差异,但我得到以下差异:
❯ chezmoi diff
diff --git a/hello_world.sh b/hello_world.sh
new file mode 100755
index 0000000000000000000000000000000000000000..476a1a85ff7300eb4134d2d68117523083037243
--- /dev/null
+++ b/hello_world.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+echo "Hello, world!"
如果我将
**/hello_world.sh
放入我的 .chezmoiignore
文件中,差异就会消失,但脚本不会运行。我希望脚本能够运行并且差异不会出现。有什么想法吗?
在 文档中,您可以通过配置 chezmoi 以从
chezmoi diff
中排除“chezmoi 脚本”来完成此操作,如下所示。
使用yaml:
diff:
exclude:
- scripts
使用 toml:
[diff]
exclude = ["scripts"]
其中“chezmoi脚本”指的是chezmoi确定与chezmoi操作相关的任何脚本,我通过查看是否有
run_
,run_onchange_
等前缀,或.tmpl
后缀来猜测。