本站重新定位为
分享技术和经验的个人博客

麻烦问个shell ip转发的脚本问题

我想写个sed -i ‘s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g’ /etc/sysctl.conf

替换/etc/sysctl.conf 文件里面net.ipv4.ip_forward = 0 为 /net.ipv4.ip_forward = 1,
但是如果里面没有/net.ipv4.ip_forward ,就添加一个,不会写,求高手帮帮忙。不会shell。

辽宁网友:先grep判断一下啊…建议先系统学一下shell再写吧…
甘肃网友:

shc 发表于 2020-9-16 04:37
先grep判断一下啊…建议先系统学一下shell再写吧…

这不是很少用么,学c#的,玩linux 不久
内蒙古网友:

斌斌 发表于 2020-9-16 04:43
这不是很少用么,学c#的,玩linux 不久

  1. cat /etc/sysctl.conf | grep "net.ipv4.ip_forward" >/dev/null
  2. [[ $? = 0 ]] && sed -i ‘s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g’ /etc/sysctl.conf || echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

复制代码
宁夏网友:

通宵运维看到楼上血压飙升

  1. sed -i ‘/^net.ipv4.ip_forward/d’ /etc/sysctl.conf; echo ‘net.ipv4.ip_forward = 1’ >>/etc/sysctl.conf

复制代码

如果用 grep

  1. grep -q ‘^net.ipv4.ip_forward’ /etc/sysctl.conf && sed -i ‘/^net.ipv4.ip_forward/cnet.ipv4.ip_forward = 1’ /etc/sysctl.conf || echo ‘net.ipv4.ip_forward = 1’ >>/etc/sysctl.conf

复制代码
四川网友:

Sakuya 发表于 2020-9-16 07:39
通宵运维看到楼上血压飙升

飙升,容易die

赞(0)
这篇文章为天际博客(天朝世纪)原创,转载请注明。天际部落 » 麻烦问个shell ip转发的脚本问题

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址