我注意到一些 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