我正在尝试编写一个脚本来编辑ubuntu上的配置文件。
我需要为文件/etc/sysctl.conf启用ip转发选项
我需要编辑这行,从这个
#net.ipv4.ip_forward = 0
对此:
net.ipv4.ip_forward = 0
删除"#“
我能用剧本做吗?
谢谢你的帮助!
发布于 2022-07-25 18:51:59
您应该使用Stream EDitor sed
来完成这个任务。
sudo sed -i '/net\.ipv4\.ip_forward =/s/^#//' /etc/sysctl.conf
此命令使用sudo
运行,这是编辑/etc/sysctl.conf
所需的。sudo
调用sed -i
来编辑文件,而不是将结果打印到stdout。/net\.ipv4\.ip_forward =/
是查找要修改的行的正则表达式,s/^#//
只在行的第一个字符中删除#
。
在为您的编辑找到正确的语法时,一个很好的做法是不要使用sed -i
,而只是使用sed
并查看结果。
另外,如果您想要另一个安全网,您可以运行sed -i.bak
,它将创建一个以.bak
作为后缀的备份文件。但是,在使用备份时要小心,因为备份是在与原始文件相同的dir中创建的,这可能在各种情况下造成问题,例如当读取目录中的所有文件时,例如各种.d
目录。
https://unix.stackexchange.com/questions/711231
复制相似问题