全球主机交流论坛

标题: 麻烦问个shell ip转发的脚本问题 [打印本页]

作者: 斌斌    时间: 2020-9-16 04:26
标题: 麻烦问个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。

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

这不是很少用么,学c#的,玩linux 不久
作者: shc    时间: 2020-9-16 04:52
斌斌 发表于 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
复制代码

作者: Sakuya    时间: 2020-9-16 07:39
本帖最后由 Sakuya 于 2020-9-16 07:50 编辑

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

  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
复制代码

作者: 古藤君    时间: 2020-9-16 08:01
Sakuya 发表于 2020-9-16 07:39
通宵运维看到楼上血压飙升



飙升,容易die
作者: 斌斌    时间: 2020-9-16 23:59
Sakuya 发表于 2020-9-16 07:39
通宵运维看到楼上血压飙升

大佬们天亮都不在的么。
作者: Sakuya    时间: 2020-9-17 01:04
斌斌 发表于 2020-9-16 23:59
大佬们天亮都不在的么。

我回你私信了,你没回我
作者: shirow    时间: 2020-9-17 02:40
本帖最后由 shirow 于 2020-9-17 02:54 编辑

看你目的就是开启转发吧?sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf; echo "net.ipv4.ip_forward = 1” >> /etc/sysctl.conf




欢迎光临 全球主机交流论坛 (https://loc.888543.xyz/) Powered by Discuz! X3.4