以编程方式更改 Linux 中的文本配置文件,只需最少的工作量



我正在寻找一种工具,可以简化以下任务的文本配置文件的修改:

  • 在/etc/ssh/ssh_config 上设置 ForwardAgent yes
  • HGUSER附加到/etc/ssh/sshd_config 中的AcceptEnv(这更复杂,因为它确实接受几个参数,如果你的参数不在那里,它应该添加它)

重要:

  • 运行几次应该没有副作用。
  • 如果某些内容看起来很奇怪,它应该抱怨(例如,如果您在文件中多次找到同一行,或者预期的语法不匹配)。

有没有任何 linux 工具可以轻松用于自动化这样的事情?

重点是能够在某处编写这些配置补丁,以便您可以在需要时将它们部署到多台机器或新机器上。

我肯定会使用 bash 脚本来做到这一点。 这是一个很棒的教程。

http://linuxconfig.org/Bash_scripting_Tutorial

要更改文件中的一行,您可以执行以下操作:
检查文件是否存在
grep 表示您要更改的值 - 如果它出现多次或某些内容,则出错
使用 sed 更改该行

将某些内容附加到文件
检查文件是否存在
grep 以确保它尚未附加到
回显任何>>文件 - 双倍大于附加到文件

对于这些中的每一个,我都会先制作文件的备份副本,以防万一出现问题

您可能想看看嵌入式Linux系统中使用的统一配置接口(UCI)。如果您可以灵活地为配置文件调整UCI格式,则这与您要查找的内容非常相似。

最新更新