在配置 samba 时,我按照官方文档的建议使用此方法。
testparm -s smb.conf.master > smb.conf
这意味着我可以保留完全注释的版本(smb.conf.master),但我也可以在 smb.conf 中得到一个精简且易于人类和机器解析的版本
apache的配置文件有等效的方法吗?
在配置 samba 时,我按照官方文档的建议使用此方法。
testparm -s smb.conf.master > smb.conf
这意味着我可以保留完全注释的版本(smb.conf.master),但我也可以在 smb.conf 中得到一个精简且易于人类和机器解析的版本
apache的配置文件有等效的方法吗?
我经常这样做:
如果您想变得非常激进并同时删除空白行:
我应该指出,这样做的唯一原因是如果您发现评论分散注意力,则可以使您更容易阅读。当然,Apache 并不介意。从实时 Apache 配置中删除注释并没有获得任何性能,除了在启动时可能节省了几微秒。
apachectl configtest
您可以使用(在 debian 系统上通常称为 apache2ctl)测试配置文件。这是我能想到的最接近的等价物。编写一个将 configtest 与其他东西(grep、awk、sed 等)结合起来以复制您正在使用 testparm 执行的操作的脚本不会太麻烦。
就个人而言,我会发现一个没有评论的 httpd.conf 比有一些评论的更难阅读,你有什么具体原因要这样做吗?
这确实是对 Insyte 答案的评论,但我无法将其格式化为可读的评论。再加上评论太长了:)
像这样使用 sed 会在全行注释之前和所有行尾标记之前去除空格。通过 uniq 的管道将删除任何连续空行序列中除第一个空行之外的所有行(即在“段落”之间留下一个空行)。IMO,这使它更具可读性。
在此处使用 uniq 确实存在删除任何其他连续重复行的风险很小,但这在实践中不太可能成为问题。
另外,要回答您关于剥离单# 注释而不是双## 注释的问题...首先我会提到双和三# 注释在配置文件中很常见,因此您可能想要使用其他东西。'#:', 例如。然后使用类似的东西: