首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态Textfile模板引擎

动态Textfile模板引擎
EN

Unix & Linux用户
提问于 2016-01-07 14:33:16
回答 1查看 581关注 0票数 2

是否有一个动态/动态的文本文件模板引擎在文件系统级别上工作,例如通过fuse,以类似于web服务器html模板引擎的方式工作?

假设您有一个/etc/hostapd/hostapd.conf AP配置文件,如下所示

代码语言:javascript
复制
# On-the-fly AP configuration for any interface
interface={{dev}}
ssid="AwesomeNetwork-{{dev}}"
...

现在,我用我的酷(fuse) fs将/etc/hostapd/文件夹(甚至一个文件)挂载到/etc/hostapd-dyn上:

代码语言:javascript
复制
mount -t template-fuse /etc/hostapd /etc/hostapd-dyn

文件/etc/hostapd-dyn/hostapd.conf/dev=wlp0s2现在将包含

代码语言:javascript
复制
# On-the-fly AP configuration for any interface
interface=wlp0s2
ssid="AwesomeNetwork-wlp0s2"
...

这样的fs允许有动态配置文件,在这些文件中,您甚至可能事先不知道它的一些值,但是您不可能通过通过文件preprocessor/awk/sed/...来动态创建该文件。

例如,在定义动态-@.service systemd服务时,可以使用动态变量实际修改ExecStart=语句中使用的配置文件的文件内容。(好的,您可以总是在另一个ExecStart=命令前面加上一个创建配置文件的命令,然后在下一行中使用刚刚创建的配置文件。但在某些情况下,这并不是那么优雅和不合理。)

EN

回答 1

Unix & Linux用户

发布于 2016-04-26 18:51:25

有一个名为"dotfs“的haskell项目,其功能类似于您所描述的内容。然而,这可能已不复存在。

在python中使用fusepy可以很容易地将一些东西组合在一起。我附加了一个gist (基于模糊库),它几乎可以满足您的要求,只需通过bash回显运行每个文件的内容,并相应地扩展所有内容。这样,您还可以通过$()从其他程序获得动态输入。

格莱克尔/费瑟斯

如果您想要调整它,您只需修改顶部的重写函数,就可以进行更具体(或者更安全,这可能是个好主意)的变量扩展。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/253887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档