免费注册 查看新帖 |

Chinaunix

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

adsl重新拨号的脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-24 11:14 |只看该作者 |倒序浏览

  1. # cat reup
  2. #!/bin/bash
  3. #Author:
  4. #Date : Thu Feb 12 16:25:59 CST 2004
  5. #System : RedHat 9.0
  6. if [ $# -gt 5 ] ; then
  7.         echo " error command,pleas look at /path/reup "
  8.         exit 0
  9. fi
  10. echo "waiting about 12 second...."
  11. IP=`ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"`
  12. echo "$IP">>.ip_log
  13. adsl-stop
  14. MAC=`ifconfig eth0|grep eth0|awk '{print $5}'`
  15. echo "                $IP"
  16. echo "The old MAC is  $MAC"
  17. if [ $# == 0 ] ;then
  18.           echo "MAC not changed !"
  19. else
  20.           if [ $# == 1 ] ; then
  21.                 ifconfig eth0 down
  22.                 ifconfig eth0 hw ether 00:e0:"$1":a3:e3:d8
  23.                 ifconfig eth0 up
  24.           elif [ $# == 2 ] ; then
  25.                 ifconfig eth0 down
  26.                 ifconfig eth0 hw ether 00:e0:"$2":a3:"$1":d8
  27.                 ifconfig eth0 up
  28.           elif [ $# == 3 ] ; then
  29.                 ifconfig eth0 down
  30.                 ifconfig eth0 hw ether 00:e0:e0:"$1":"$2":"$3"
  31.                 ifconfig eth0 up
  32.           elif [ $# == 4 ] ; then
  33.                 ifconfig eth0 down
  34.                 ifconfig eht0 hw ether 00:e0:"$1":"$2":"$3":"$4"
  35.                 ifconfig eth0 up
  36.           elif [ $# == 5 ] ; then
  37.                 ifconfig eth0 down
  38.                 ifconfig eht0 hw ether 00:"$5":"$1":"$2":"$4":"$3"
  39.                 ifconfig eth0 up
  40.           else echo "unknown error" ; exit 0
  41.           fi
  42.           NEWMAC=`ifconfig eth0|grep eth0|awk '{print $5}'`
  43.           echo "The new MAC is $NEWMAC"
  44. fi
  45. sleep 3
  46. #oldport3=`echo $IP|sed 's/\./ /g'|awk '{print $3}'`
  47. oldport4=`echo $IP|sed 's/\./ /g'|awk '{print $4}'`
  48. while true ; do
  49.          adsl-start ; flags=0
  50.          NEWIP=`ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"`
  51. #        port3=`echo $NEWIP|sed 's/\./ /g'|awk '{print $3}'`
  52.          port4=`echo $NEWIP|sed 's/\./ /g'|awk '{print $4}'`
  53.          while read line ; do
  54.                 logport4=`echo $line|sed 's/\./ /g'|awk '{print $4}'` 2>/dev/null
  55.                 if [[ $logport4 == $oldport4 || $port4 == $oldport4 ]] ; then
  56.                         flags=1 ; break
  57.                 fi
  58.          done < .ip_log
  59.          if [ $flags -eq 0 ] ; then
  60.                 break
  61.          fi
  62.          adsl-stop ; echo "please wait 5 second ..." ; sleep 3
  63. done
  64. echo "NEW IP is   $NEWIP"
  65. if [ `wc -l /forum/src/reup|awk '{print $1}'` -eq 150 ] ; then
  66.         echo "">.ip_log
  67. fi
复制代码


总是这样???

# reup
waiting about 12 second....
                *.*.*.*
The old MAC is  *.*.*.*.*.*
MAC not changed !
please wait 5 second ...
please wait 5 second ...
please wait 5 second ...
please wait 5 second ...

脚本错在哪里?     

论坛徽章:
0
2 [报告]
发表于 2004-06-24 11:23 |只看该作者

adsl重新拨号的脚本

bash -x ,调试一下你的脚本@_@,看看问题出在哪里?

论坛徽章:
0
3 [报告]
发表于 2004-06-25 13:35 |只看该作者

adsl重新拨号的脚本

这是调试的情况。。。

# bash -x reup
+ '[' -f /etc/bashrc ']'
+ . /etc/bashrc
+++ id -gn
+++ id -un
+++ id -u
++ '[' root = root -a 0 -gt 99 ']'
++ umask 022
++ '[' '' ']'
+ alias 'lf=dir -FA'
+ export 'PS1=`pwd`# '
+ PS1=`pwd`#
+ alias 'mountr1=mount -o loop /mnt/e/lin.iso/shrike-i386-disc1.iso /mnt/iso/r1'
+ alias 'mountr2=mount -o loop /mnt/e/lin.iso/shrike-i386-disc2.iso /mnt/iso/r2'
+ alias 'mountr3=mount -o loop /mnt/e/lin.iso/shrike-i386-disc3.iso /mnt/iso/r3'
+ '[' 0 -gt 5 ']'
+ echo 'waiting about 12 second....'
waiting about 12 second....
++ ifconfig ppp0
++ grep addr
++ awk '{print $2}'
++ cut -f2 -d :
+ IP=222.84.212.143
+ echo 222.84.212.143
+ adsl-stop
++ ifconfig eth0
++ grep eth0
++ awk '{print $5}'
+ MAC=*:*:*:*:*:*
+ echo '                222.84.212.143'
                222.84.212.143
+ echo 'The old MAC is  *:*:*:*:*:*'
The old MAC is  *:*:*:*:*:*
+ '[' 0 == 0 ']'
+ echo 'MAC not changed !'
MAC not changed !
+ sleep 3
++ echo 222.84.212.143
++ sed 's/\./ /g'
++ awk '{print $4}'
+ oldport4=143
+ true
+ adsl-start
+ flags=0
++ ifconfig ppp0
++ grep addr
++ awk '{print $2}'
++ cut -f2 -d :
+ NEWIP=222.84.212.100
++ echo 222.84.212.100
++ sed 's/\./ /g'
++ awk '{print $4}'
+ port4=100
+ read line
++ echo 222.84.212.143
++ sed 's/\./ /g'
++ awk '{print $4}'
+ logport4=143
+ [[ 143 == 143 ]]
+ flags=1
+ break
+ '[' 1 -eq 0 ']'
+ adsl-stop
+ echo 'please wait 5 second ...'
please wait 5 second ...
+ sleep 3
+ true
+ adsl-start
+ flags=0
++ ifconfig ppp0
++ grep addr
++ awk '{print $2}'
++ cut -f2 -d :
+ NEWIP=222.84.212.18
++ echo 222.84.212.18
++ sed 's/\./ /g'
++ awk '{print $4}'
+ port4=18
+ read line
++ echo 222.84.212.143
++ sed 's/\./ /g'
++ awk '{print $4}'
+ logport4=143
+ [[ 143 == 143 ]]
+ flags=1
+ break
+ '[' 1 -eq 0 ']'
+ adsl-stop
+ echo 'please wait 5 second ...'
please wait 5 second ...
+ sleep 3
+ true
+ adsl-start
+ flags=0
++ ifconfig ppp0
++ grep addr
++ awk '{print $2}'
++ cut -f2 -d :
+ NEWIP=222.84.213.251
++ echo 222.84.213.251
++ sed 's/\./ /g'
++ awk '{print $4}'
+ port4=251
+ read line
++ echo 222.84.212.143
++ sed 's/\./ /g'
++ awk '{print $4}'
+ logport4=143
+ [[ 143 == 143 ]]
+ flags=1
+ break
+ '[' 1 -eq 0 ']'
+ adsl-stop
+ echo 'please wait 5 second ...'
please wait 5 second ...
+ sleep 3

这里我按ctrl+c中止。。

看不懂。。   

论坛徽章:
0
4 [报告]
发表于 2004-06-25 13:40 |只看该作者

adsl重新拨号的脚本

这个脚本我好像在哪里见过的说

论坛徽章:
0
5 [报告]
发表于 2004-06-25 18:40 |只看该作者

adsl重新拨号的脚本

在linuxsir 有一个相似的。     
你在哪里看到过?
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP