将一行附加到配置文件的

将一行附加到配置文件的

我注意到一些 Linux 配置文件(例如/etc/samba/smb.conf)希望您在文件的特定“部分”中输入实际设置(键值对),例如[global].

我正在寻找一个终端工具/命令,它允许您将行附加到特定配置文件的特定部分。

例子:

configadd FILE SECTION LINE
configadd /etc/samba/smb.conf '[global]' "my new line"

答案1

你可以通过以下方式完成任务sed直接,例如:

sed '/^\[global\]/a\my new line' /etc/samba/smb.conf

注意:这不是一个解决方案,因为此类行可能已经在配置中。所以首先你应该测试该线是否存在。

答案2

更好的方法是使用ini_文件可靠模块

https://docs.ansible.com/ansible/latest/collections/community/general/ini_file_module.html

例子:

- name: add line in section "[global]" in specified file
  community.general.ini_file:
    path: /etc/conf/test.ini
    section: global
    option: mynewline
    value: mynewvalue
    mode: '0600'
    backup: yes

相关内容