shell脚本自动修改IP信息

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介:
 
  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,如需转载请自行联系原作者

相关文章
|
6天前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
28 1
|
25天前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
51 12
|
21天前
|
存储 运维 监控
自动化运维:使用Shell脚本简化日常任务
【9月更文挑战第35天】在IT运维的日常工作中,重复性的任务往往消耗大量的时间。本文将介绍如何通过编写简单的Shell脚本来自动化这些日常任务,从而提升效率。我们将一起探索Shell脚本的基础语法,并通过实际案例展示如何应用这些知识来创建有用的自动化工具。无论你是新手还是有一定经验的运维人员,这篇文章都会为你提供新的视角和技巧,让你的工作更加轻松。
23 2
|
29天前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
1月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
87 2
|
15天前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
12 0
|
1月前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
52 17
|
1月前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
40 12
|
1月前
|
网络协议 关系型数据库 MySQL
Shell 脚本案例
Shell 脚本案例
41 8
|
1月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。