您的位置:首页 > 运维架构 > Shell

shell脚本自动修改IP信息

2011-03-17 17:27 666 查看
#!/bin/sh
# BY kerry (聆听未来)
# BLOG:http://kerry.blog.51cto.com

# set variable
ip_mod=$1
mask_mod=$2
gw_mod=$3
dns_mod=$4
hostname_mod=$5

hosts=/etc/hosts
ifcfg=/etc/sysconfig/network-scripts/ifcfg-eth0
network=/etc/sysconfig/network
resolv=/etc/resolv.conf
hwaddr=`grep -i HWADDR $ifcfg|awk -F "=" '{print $2}'`

# mod ip、mask、gw、dns、hostname
if [ $# != 5 ];then
cat << EOF
+-----------------------------------------------------------------------------------+
++++++                                              +++++
| ====   这是一个自动修改网络ip、掩码、网关、DNS、主机名的脚本                  ====|
| ====   使用方法:ip_mod ip mask gw dns hostname                    ====|
| ====   例:ip_mod 10.10.10.5 255.255.255.0 10.10.10.1 8.8.8.8 kerry           ====|
++++++                                              +++++
+-----------------------------------------------------------------------------------+
EOF
fi

if [ $# == 5 ];then
/bin/hostname $hostname_modf
cp -r $hosts ${hosts}.bak
echo -e "$ip_mod $hostname_mod" > $hosts

cp -r $ifcfg ${ifcfg}.bak
echo -ne "DEVICE=eth0
BOOTPROTO=static
HWADDR=$hwaddr
IPADDR=$ip_mod
NETMASK=$mask_mod
ONBOOT=yes
" > $ifcfg

cp -r $network ${network}.bak
echo -ne "NETWORKING=yes
HOSTNAME=$hostname_mod
GATEWAY=$gw_mod
" > $network

cp -r $resolv ${resolv}.bak
echo -e "nameserver $dns_mod" > $resolv

# restart network
service network restart

echo "ip、mask、gw、dns、hostname set OK .................!!!!!!!"
fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell 修改IP sed ipadd