shell脚本自动修改IP信息

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:
 
  1. #!/bin/sh  
  2. # BY kerry (聆听未来)  
  3. # BLOG:http://kerry.blog.51cto.com  
  4.  
  5. # set variable  
  6. ip_mod=$1  
  7. mask_mod=$2  
  8. gw_mod=$3  
  9. dns_mod=$4  
  10. hostname_mod=$5  
  11.  
  12. hosts=/etc/hosts  
  13. ifcfg=/etc/sysconfig/network-scripts/ifcfg-eth0  
  14. network=/etc/sysconfig/network  
  15. resolv=/etc/resolv.conf  
  16. hwaddr=`grep -i HWADDR $ifcfg|awk -F "=" '{print $2}'`  
  17.  
  18. # mod ip、mask、gw、dns、hostname  
  19. if [ $# != 5 ];then  
  20. cat << EOF 
  21. +-----------------------------------------------------------------------------------+  
  22. ++++++                                              +++++  
  23. | ====   这是一个自动修改网络ip、掩码、网关、DNS、主机名的脚本                  ====|  
  24. | ====   使用方法:ip_mod ip mask gw dns hostname                    ====|  
  25. | ====   例:ip_mod 10.10.10.5 255.255.255.0 10.10.10.1 8.8.8.8 kerry           ====|  
  26. ++++++                                              +++++  
  27. +-----------------------------------------------------------------------------------+  
  28. EOF  
  29. fi  
  30.  
  31. if [ $# == 5 ];then  
  32. /bin/hostname $hostname_modf  
  33. cp -r $hosts ${hosts}.bak  
  34. echo -e "$ip_mod $hostname_mod" > $hosts  
  35.  
  36. cp -r $ifcfg ${ifcfg}.bak  
  37. echo -ne "DEVICE=eth0 
  38. BOOTPROTO=static 
  39. HWADDR=$hwaddr  
  40. IPADDR=$ip_mod  
  41. NETMASK=$mask_mod  
  42. ONBOOT=yes 
  43. > $ifcfg  
  44.  
  45. cp -r $network ${network}.bak  
  46. echo -ne "NETWORKING=yes 
  47. HOSTNAME=$hostname_mod  
  48. GATEWAY=$gw_mod  
  49. > $network  
  50.  
  51. cp -r $resolv ${resolv}.bak  
  52. echo -e "nameserver $dns_mod" > $resolv  
  53.  
  54. # restart network  
  55. service network restart  
  56.  
  57. echo "ip、mask、gw、dns、hostname set OK .................!!!!!!!"  
  58. fi  

 

本文转自king_819 51CTO博客,原文链接:http://blog.51cto.com/kerry/517921,如需转载请自行联系原作者

相关文章
|
14天前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
36 17
|
14天前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
27 12
|
13天前
|
网络协议 关系型数据库 MySQL
Shell 脚本案例
Shell 脚本案例
27 8
|
13天前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
18天前
|
运维 监控 Shell
自动化运维之宝:编写高效的Shell脚本
【8月更文挑战第31天】在运维的世界里,Shell脚本是一把瑞士军刀,它让日常任务变得简单而高效。本文将通过浅显易懂的语言和实际案例,带你领略Shell脚本的魅力,并教你如何打造属于自己的自动化工具箱。无论你是初学者还是资深运维,这篇文章都将为你打开一扇窗,让你看到不一样的风景。让我们一起探索Shell脚本的世界吧!
|
26天前
|
存储 Shell 数据安全/隐私保护
minio一键安装脚本分享(shell和python)
minio一键安装脚本分享(shell和python)
38 0
|
26天前
|
关系型数据库 Shell 数据库
postgres14一键安装脚本分享(shell和python)
postgres14一键安装脚本分享(shell和python)
19 0
|
26天前
|
监控 Shell Linux
在Linux中,如何使用shell脚本检测磁盘使用率?
在Linux中,如何使用shell脚本检测磁盘使用率?
|
26天前
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
|
27天前
|
Unix Shell Linux
在Linux中,什么是Shell脚本,并且如何编写它。
在Linux中,什么是Shell脚本,并且如何编写它。