我对外部事实有些困惑。
以最简单的形式,我可以在facts.d文件夹中创建一个json文件并使其工作。
但是我需要通过一些创建json文件的shell脚本来动态构建它。我创建了以下内容并使它起作用,但是我无法确定这是否是正确的方法:
shell脚本
import createHistory from 'history/createBrowserHistory'
const history = createHistory()
history.listen((location, action) => {
// location is an object like window.location
console.log(action, location.pathname, location.state)
})
yaml文件看起来像这样
cat <<END>some_facts.yaml
---
myfacts_array:
END
for file in `some folder`
do
echo " - $file" >>some_facts.yaml
done
这是实现此目标的正确方法吗?
答案 0 :(得分:1)
木偶依靠Facter收集事实,包括外部事实。 Facter仅在3.5年以下的版本中才支持结构化,可执行的外部事实。如果您的Facter版本较旧,并且无法升级,则需要找到一种解决方法,例如定期在外部事实目录中编写平面的YAML或JSON文件。
如果您有合适的Facter版本,则必须执行脚本
如果您提出的脚本源是一个完整的示例,则它至少缺少一个shebang行,但输出似乎格式正确。除此之外,对于您呈现的内容是否是“正确的方式”,我没有任何评论。
* 必须使用YAML或JSON才能以这种方式生成结构化的事实。对于纯字符串事实,您可以改为输出KEY
= VALUE
对,每行一对。