當前位置:首頁 » 編程軟體 » 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 06:18:05 瀏覽:164
ubuntu搭建samba伺服器 發布:2025-02-07 05:52:54 瀏覽:54
小型企業網如何配置可以互通 發布:2025-02-07 05:33:56 瀏覽:243
09年crv哪個配置好 發布:2025-02-07 05:17:31 瀏覽:555
nvm源碼編譯 發布:2025-02-07 05:13:19 瀏覽:126
防偽碼查詢源碼 發布:2025-02-07 05:09:39 瀏覽:769
安卓機的通知在哪裡 發布:2025-02-07 05:09:01 瀏覽:282
密碼74是什麼意思 發布:2025-02-07 05:02:10 瀏覽:47
蘋果es瀏覽器無法連接ftp 發布:2025-02-07 04:59:57 瀏覽:285
javaa和a 發布:2025-02-07 04:58:24 瀏覽:64