免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1723 | 回复: 9
打印 上一主题 下一主题

脚本整理 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之吉林
日期:2018-05-23 14:31:12
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-29 20:39 |只看该作者 |倒序浏览
  1. #!/bin/sh

  2. eth_if=`/sbin/ifconfig -a | sed -n '/12\.123\.123.*\|222\.121\.12.*/{g;1!p;};h' | awk '{print $1}' | awk -F: '{print $1}' `
  3. eth_inet=`/sbin/ifconfig -a | sed -n '/inet addr:120.90.*/{g;1!p;};h' | awk '{print $1}' | awk -F: '{print $1}' `
  4. if_ip='172.16.'`/sbin/ifconfig ${eth_if} | grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | awk '{print $2}' | cut -d . -f 3,4`
  5. eth_file="/etc/sysconfig/network-scripts/ifcfg-${eth_inet}:1"
  6. up_inet="${eth_inet}:1"

  7. if [ -e ${eth_file} ]; then
  8. echo "File exist, Please change interface file! "
  9. exit 1
  10. else
  11. cat << EOF >> ${eth_file}
  12. DEVICE=${up_inet}
  13. BOOTPROTO=static
  14. IPADDR=${if_ip}
  15. NETMASK=255.255.0.0
  16. ONBOOT=yes
  17. TYPE=Ethernet
  18. EOF
  19. fi

  20. /sbin/ifup ${up_inet}

  21. status=`ping -c 1 172.16.208.67`
  22. if [ $? == 0 ]; then
  23.        echo "Success"
  24. else
  25.        echo "Faild !"
  26.        exit 1
  27. fi
复制代码
各位大大,这段代码可以简化吗?写得有点乱,只觉得有得太多的管道,有点怪怪的。

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
2 [报告]
发表于 2012-03-29 21:19 |只看该作者
用一个awk脚本全部搞定

论坛徽章:
1
15-16赛季CBA联赛之吉林
日期:2018-05-23 14:31:12
3 [报告]
发表于 2012-03-29 21:31 |只看该作者
ziyunfei 发表于 2012-03-29 21:19
用一个awk脚本全部搞定


请赐教

论坛徽章:
0
4 [报告]
发表于 2012-03-29 22:28 |只看该作者
我觉得,一般来说字符串处理要用到三个或者三个以上的管道的东西,基本上就要重写了

如果是别的用途则另论

论坛徽章:
3
天秤座
日期:2014-10-29 11:37:572015元宵节徽章
日期:2015-03-06 15:50:39NBA常规赛纪念章
日期:2015-05-04 22:32:03
5 [报告]
发表于 2012-03-29 23:02 |只看该作者
LZ,你的脚本要干啥

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
6 [报告]
发表于 2012-03-29 23:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
15-16赛季CBA联赛之吉林
日期:2018-05-23 14:31:12
7 [报告]
发表于 2012-03-30 09:42 |只看该作者
tomer 发表于 2012-03-29 23:02
LZ,你的脚本要干啥


您好,这脚本找出eth1的电信外网IP的最后两位,然后在前面加上172.16作内网
例如: 外网是 123.133.144.155 那内网就是172.16.144.155

论坛徽章:
1
15-16赛季CBA联赛之吉林
日期:2018-05-23 14:31:12
8 [报告]
发表于 2012-03-30 09:43 |只看该作者
zooyo 发表于 2012-03-29 23:36
回复 4# mpstat


嗯,我也觉得,不过自己的基础不扎实,没法不用管道.
只能麻烦各位简化一下,我来学习学习.

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
9 [报告]
发表于 2012-03-30 10:48 |只看该作者
本帖最后由 jason680 于 2012-03-30 11:01 编辑

回复 8# gtuiw

要给个input与output吧!!!....
   
you can use "/sbin/ifconfig eth1" to get eth1 information

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
10 [报告]
发表于 2012-03-30 11:21 |只看该作者
  1. ifconfig eth1 |awk '/Mask/{split($2,a,".");print "172.16."a[3]"."a[4]}'
复制代码
试试看咯
然后sed替换一下现有ifcfg-eth?里的内容应该不难吧,两条命令我觉得够用了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP