是否有一个动态/动态的文本文件模板引擎在文件系统级别上工作,例如通过fuse,以类似于web服务器html模板引擎的方式工作?
假设您有一个/etc/hostapd/hostapd.conf AP配置文件,如下所示
# On-the-fly AP configuration for any interface
interface={{dev}}
ssid="AwesomeNetwork-{{dev}}"
...现在,我用我的酷(fuse) fs将/etc/hostapd/文件夹(甚至一个文件)挂载到/etc/hostapd-dyn上:
mount -t template-fuse /etc/hostapd /etc/hostapd-dyn文件/etc/hostapd-dyn/hostapd.conf/dev=wlp0s2现在将包含
# On-the-fly AP configuration for any interface
interface=wlp0s2
ssid="AwesomeNetwork-wlp0s2"
...这样的fs允许有动态配置文件,在这些文件中,您甚至可能事先不知道它的一些值,但是您不可能通过通过文件preprocessor/awk/sed/...来动态创建该文件。
例如,在定义动态-@.service systemd服务时,可以使用动态变量实际修改ExecStart=语句中使用的配置文件的文件内容。(好的,您可以总是在另一个ExecStart=命令前面加上一个创建配置文件的命令,然后在下一行中使用刚刚创建的配置文件。但在某些情况下,这并不是那么优雅和不合理。)
发布于 2016-04-26 18:51:25
有一个名为"dotfs“的haskell项目,其功能类似于您所描述的内容。然而,这可能已不复存在。
在python中使用fusepy可以很容易地将一些东西组合在一起。我附加了一个gist (基于模糊库),它几乎可以满足您的要求,只需通过bash回显运行每个文件的内容,并相应地扩展所有内容。这样,您还可以通过$()从其他程序获得动态输入。
如果您想要调整它,您只需修改顶部的重写函数,就可以进行更具体(或者更安全,这可能是个好主意)的变量扩展。
https://unix.stackexchange.com/questions/253887
复制相似问题