使用 diff 中未出现的运行脚本配置 chezmoi?

问题描述 投票:0回答:1

我想每次应用 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
文件中,差异就会消失,但脚本不会运行。我希望脚本能够运行并且差异不会出现。有什么想法吗?

macos scripting dotfiles chezmoi
1个回答
0
投票

文档中,您可以通过配置 chezmoi 以从

chezmoi diff
中排除“chezmoi 脚本”来完成此操作,如下所示。

使用yaml:

diff:
  exclude:
    - scripts

使用 toml:

[diff]
    exclude = ["scripts"]

其中“chezmoi脚本”指的是chezmoi确定与chezmoi操作相关的任何脚本,我通过查看是否有

run_
run_onchange_
等前缀,或
.tmpl
后缀来猜测。

© www.soinside.com 2019 - 2024. All rights reserved.