当前位置:首页 » 编程软件 » shell脚本修改ip

shell脚本修改ip

发布时间: 2022-08-16 17:13:49

⑴ 怎么用,,shell里的命令修改这个配置文件里的,IP,仅仅是修改IP----.是用sed ,还是

全局替换
sed -i 's/ip = 211.138.250.75/ip = 你需要的IP/g' Oredsocks.conf

⑵ shell脚本配置IP

你编辑的是ifcfg-eth2,怎么写进去的Device是eth0??
我是6.5的测试系统,执行之后可以正常启动,不过报错是针对/etc/init.d/network这个脚本的
./IP_eth0.sh 104
/etc/init.d/network: line 184: command not found
/etc/init.d/network: line 184: 33mDEVICE=eth0: command not found
/etc/init.d/network: line 185: command not found
/etc/init.d/network: line 185: 33mTYPE=Ethernet: command not found
/etc/init.d/network: line 184: command not found
/etc/init.d/network: line 184: 33mDEVICE=eth1: command not found
/etc/init.d/network: line 185: command not found
/etc/init.d/network: line 185: 33mTYPE=Ethernet: command not found
/etc/init.d/network: line 184: command not found
/etc/init.d/network: line 184: 33mDEVICE=eth2: command not found
/etc/init.d/network: line 185: command not found
/etc/init.d/network: line 185: 33mTYPE=Ethernet: command not found

⑶ 想写个shell脚本来自动配置ip,子网掩码和网关

测试了下还可以,没有写条件判断,根据情况自己再修改下

#!/bin/bash

hwaddr=`ifconfig|grepHWaddr|awk'{print$5}'`

echo"DEVICE=$1
HWADDR=$hwaddr
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=$2
NETMASK=$3
GATEWAY=$4">/etc/sysconfig/network-scripts/ifcfg-$1

/etc/init.d/networkrestart

⑷ shell脚本修改集群IP

程序逻辑有问题。
你的想法是将10.255.0.11改成11.11.11.14,10.255.0.12改成11.11.11.15,
但是你的脚本是在每一台服务器上都遍历了11.11.11.14~15,最后修改成的ip(11.11.11.15)才是生效的,之前的修改都被后面的修改覆盖了。
正确的写法是建立两个数组分别表示原来的ip和新的ip,遍历第一个数组的同时,按照元素序号对应取第二个数组的值,从而达到修改的目的。
两个数组同步遍历的写法如下:
#!/bin/bash
array1=(10.255.0.{11..12})
array2=(11.11.11.{14..15})
i=0
for ip in ${array1[@]}
do
echo ${ip}"->"${array2[i]}
#你的修改
#你的修改
let i++
done
补充一句,你的修改不会使新ip生效,即使生效了,也因为ip生效一瞬间你的ssh连接中断,会产生无法估计的后果。正确的做法以单引号引用一个后台重启网卡服务的命令:
ssh $RemoteHost 'service xinetd restart 1>/dev/null 2>&1 &'
当然,不同linux版本重启命令不一致,但基本写法是通行的。

⑸ 要怎么用shell脚本,将输入的IP地址如127.0.0.1替换另一个文件里的 IP=10.0.

echo "please input new ip address/"
read ipaddr
sed -i "s/10.0.0.172/$ipaddr" filename

⑹ 用vb中的shell调用cmd函数 怎么修改ip地址 修改本地连接的ip,不用拨号。

问题不是很明白
Windows的“netsh”命令提供了命令行下更改IP

netsh interface ip set address name="本地连接" source=static addr=192.168.1.1 mask=255.255.255.0 gateway=192.168.1.254 gwmetric=1

⑺ 帮忙写一个shell脚本 转换ip

echo $IPADDR|awk -F"." '{print $1"."$2"."($3+0)"."($4+0)}'

⑻ shell脚本,实现脚本ip地址变换,每次输出不同的ip地址。

先看效果:

[root@mailtmp]#./runplayload.shiplist.txt-s192.168.33.34-40
Nosuchip【192.168.33.35】in【iplist.txt】
1--192.168.33.34
2--192.168.33.36
3--192.168.33.37
4--192.168.33.38
5--192.168.33.39
6--192.168.33.40
[root@mailtmp]#./runplayload.shiplist.txt-s192.168.33.34-192.168.33.40
Nosuchip【192.168.33.35】in【iplist.txt】
1--192.168.33.34
2--192.168.33.36
3--192.168.33.37
4--192.168.33.38
5--192.168.33.39
6--192.168.33.40
[root@mailtmp]#


看一下iplist.txt文本格式

[root@mailtmp]#catiplist.txt
192.168.33.34
192.168.33.36-192.168.33.40
192.168.33.200
192.168.33.204-210
192.168.33.231


脚本正文:

#!/bin/bash
#------------------------------------------
#Copyritht(C),[email protected]
#脚本名:
#脚本位置:
#脚本用途:
#脚本修改历史:
#<作者><日期><版本><描述>
#老耿2015/07/131.0创建
#版权:GPL
#-------------------------------------------
./root/.bash_profile
#定义ip个数
r=6
#传参判断
echo$3|grep-q"[0-9]-[0-9]";stat=$?#这里在逻辑上应该先判断存不存在$3
if[$#-ne3-o"$2"!="-s"-o${stat}-ne0];then
if[$stat-ne0];then
echo"脚本使用说明:
COMMAND文件名-sip范围
例:sh./run_playload.shiplist.txt-s192.168.33.20-50
或sh./run_playload.shiplist.txt-s192.168.33.20-192.168.33.50"
exit
fi
fi
if[!-f$1];then
echo"文件【$1】不存在!"
exit
fi
#iplist.txt文件格式转换
iplist=`cat$1|awk-F'[-.]''{if($0~/-/){sub(/-.*$/,"",$4);for(i=$4;i<=$NF;i++){print$1"."$2"."$3"."i}}elseprint$0}'`
#xx.xx.xxipv4前三个字节
ip1="`echo$3|sed-r's/.[0-9]+-.*$//'`"
#起始ip最后一个字节
ip2="`echo$3|awk-F'.''{sub(/-.*$/,"",$4);print$4}'`"
#结束ip最后一个字节
ip3="`echo$3|awk-F'[-.]''{print$NF}'`"
#如果起始ip大于结束ip,则两个互换
if(($ip2>$ip3));then
ip_tmp=$ip2
ip2=$ip3
ip3=$ip_tmp
fi
#合并完整的ip,存在ip()里
ip=()
foriin`seq${ip2}${ip3}`
do
ipp="${ip1}.${i}"
echo"${iplist}"|grep-wq"${ipp}"
if[$?-ne0];then
echo"Nosuchip【${ipp}】in【$1】"
else
ip=(${ip[*]}${ipp})
fi
done
#判断ip()不为空的情况
if[-n"${ip[*]}"];then
#定义ip个数
#r=6
#判断ip取值个数,分两种情况处理
if((${r}<=${#ip[@]}));then
foriin`seq${r}`
do
letj=$i-1
echo"${i}--${ip[j]}"
done
else
for((i=0;i<${#ip[@]};i++))
do
letj=$i+1
echo"${j}--${ip[i]}"
done
echo"WARNING:受范围限制,未能取到完整的${r}个ip!"
fi
fi

⑼ 用shell怎么在linux下修改eth0的ip地址

!#/bin/bash

ifconfig eth0 x.x.x.x netmask x.x.x.x up #立即生效

ipconf = "/etc/sysconfig/network-scripts/ifcfg-eth0"
echo "DEVICE=eth0" > $ipconf
echo "ONBOOT=yes" > $ipconf
echo "BOOTPROTO=static" > $ipconf
echo "IPADDR=192.168.0.117" > $ipconf
echo "NETMASK=255.255.255.0" > $ipconf
echo "GATEWAY=192.168.0.254" > $ipconf
echo "service network restart" > $ipconf

⑽ 求大神给一个shell脚本,实现脚本ip地址变换,每次输出不同的ip地址。

先看效果:

[root@mailtmp]#./runplayload.shiplist.txt-s192.168.33.34-40
Nosuchip【192.168.33.35】in【iplist.txt】
1--192.168.33.34
2--192.168.33.36
3--192.168.33.37
4--192.168.33.38
5--192.168.33.39
6--192.168.33.40
[root@mailtmp]#./runplayload.shiplist.txt-s192.168.33.34-192.168.33.40
Nosuchip【192.168.33.35】in【iplist.txt】
1--192.168.33.34
2--192.168.33.36
3--192.168.33.37
4--192.168.33.38
5--192.168.33.39
6--192.168.33.40
[root@mailtmp]#



看一下iplist.txt文本格式

[root@mailtmp]#catiplist.txt
192.168.33.34
192.168.33.36-192.168.33.40
192.168.33.200
192.168.33.204-210
192.168.33.231


脚本正文:

#!/bin/bash
#------------------------------------------
#Copyritht(C),[email protected]
#脚本名:
#脚本位置:
#脚本用途:
#脚本修改历史:
#<作者><日期><版本><描述>
#老耿2015/07/131.0创建
#版权:GPL
#-------------------------------------------
./root/.bash_profile
#定义ip个数
r=6
#传参判断
echo$3|grep-q"[0-9]-[0-9]";stat=$?#这里在逻辑上应该先判断存不存在$3
if[$#-ne3-o"$2"!="-s"-o${stat}-ne0];then
if[$stat-ne0];then
echo"脚本使用说明:
COMMAND文件名-sip范围
例:sh./run_playload.shiplist.txt-s192.168.33.20-50
或sh./run_playload.shiplist.txt-s192.168.33.20-192.168.33.50"
exit
fi
fi
if[!-f$1];then
echo"文件【$1】不存在!"
exit
fi
#iplist.txt文件格式转换
iplist=`cat$1|awk-F'[-.]''{if($0~/-/){sub(/-.*$/,"",$4);for(i=$4;i<=$NF;i++){print$1"."$2"."$3"."i}}elseprint$0}'`
#xx.xx.xxipv4前三个字节
ip1="`echo$3|sed-r's/.[0-9]+-.*$//'`"
#起始ip最后一个字节
ip2="`echo$3|awk-F'.''{sub(/-.*$/,"",$4);print$4}'`"
#结束ip最后一个字节
ip3="`echo$3|awk-F'[-.]''{print$NF}'`"
#如果起始ip大于结束ip,则两个互换
if(($ip2>$ip3));then
ip_tmp=$ip2
ip2=$ip3
ip3=$ip_tmp
fi
#合并完整的ip,存在ip()里
ip=()
foriin`seq${ip2}${ip3}`
do
ipp="${ip1}.${i}"
echo"${iplist}"|grep-wq"${ipp}"
if[$?-ne0];then
echo"Nosuchip【${ipp}】in【$1】"
else
ip=(${ip[*]}${ipp})
fi
done
#判断ip()不为空的情况
if[-n"${ip[*]}"];then
#定义ip个数
#r=6
#判断ip取值个数,分两种情况处理
if((${r}<=${#ip[@]}));then
foriin`seq${r}`
do
letj=$i-1
echo"${i}--${ip[j]}"
done
else
for((i=0;i<${#ip[@]};i++))
do
letj=$i+1
echo"${j}--${ip[i]}"
done
echo"WARNING:受范围限制,未能取到完整的${r}个ip!"
fi
fi
热点内容
电信路由器账号密码多少 发布:2025-02-07 09:22:01 浏览:670
我的世界怎么在别人服务器开光影 发布:2025-02-07 09:21:20 浏览:11
qq上传视频很慢怎么办 发布:2025-02-07 09:16:04 浏览:696
pythonredis缓存 发布:2025-02-07 09:10:24 浏览:927
封边机主要看哪些配置 发布:2025-02-07 09:10:17 浏览:905
流控脚本破解 发布:2025-02-07 08:39:09 浏览:413
什么是资源为什么要研究资源配置 发布:2025-02-07 08:25:19 浏览:87
钓鱼网站源码制作 发布:2025-02-07 08:23:54 浏览:139
mac运行fl需要什么配置 发布:2025-02-07 08:15:45 浏览:573
安卓怎么做都比不了苹果 发布:2025-02-07 08:12:47 浏览:238