LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 04-02-11, 23:57 第 1 帖
home
 
 
 
已封禁  
  注册日期: Nov 2003
  帖子: 1,150
  精华: 5
 

标题: 适用于ADSL的连接脚本。


我感到抱歉,脚本有点问题,现在我已经改过,请用现在的脚本。。。。
Date: Thu Feb 12 19:44:10 CST 2004
这脚本只适用与动态的IP联网。。

代码:
#!/bin/bash #Author:home #Date : Thu Feb 12 16:25:59 CST 2004 #System : RedHat 9.0 if [ $# -gt 5 ] ; then echo " error command,pleas look at /forum/src/reup " exit 0 fi echo "waiting about 12 second...." IP=`ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"` MAC=`ifconfig eth0|grep eth0|awk '{print $5}'` echo " $IP" echo "The old IP is $MAC" sleep 7 adsl-stop #down #up if [ $# == 0 ] ;then echo "The MAC has not changed !" else if [ $# == 1 ] ;then ifconfig eth0 down ifconfig eth0 hw ether 00:e0:"$1":a3:e3:d8 ifconfig eth0 up elif [ $# == 2 ] ;then ifconfig eth0 down ifconfig eth0 hw ether 00:e0:"$2":a3:"$1":d8 ifconfig eth0 up elif [ $# == 3 ] ; then ifconfig eth0 down ifconfig eth0 hw ether 00:e0:e0:"$1":"$2":"$3" ifconfig eth0 up elif [ $# == 4 ] ; then ifconfig eth0 down ifconfig eht0 hw ether 00:e0:"$1":"$2":"$3":"$4" ifconfig eth0 up elif [ $# == 5 ] ; then ifconfig eth0 down ifconfig eht0 hw ether 00:"$5":"$1":"$2":"$4":"$3" ifconfig eth0 up else echo "unknown error" ; exit 0 fi NEWMAC=`ifconfig eth0|grep eth0|awk '{print $5}'` echo "The new MAC is $NEWMAC" fi adsl-start NEWIP=`ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"` while [ "$NEWIP" == "$IP" ] ; do adsl-stop;echo "waiting about 8 second ... " ;sleep 5;adsl-start NEWIP=`ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"` done echo "Now the IP is $NEWIP "



此帖于 04-02-12 19:45 被 home 编辑.
  home 当前离线   回复时引用此帖
旧 04-02-12, 00:04 第 2 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

我记得home兄写了不少adsl的脚本啦~,正好明天我要安adsl了,可以试一试喽~~ :o
  KornLee 当前离线   回复时引用此帖
旧 04-02-12, 00:07 第 3 帖
home
 
 
 
已封禁  
  注册日期: Nov 2003
  帖子: 1,150
  精华: 5
 

以前写过一个,大家有什么意见和建议吗?请提出来,还可以扩充一下功能。。
  home 当前离线   回复时引用此帖
旧 04-02-12, 00:20 第 4 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

我想如果ifconfig要用ip来代替的话,也许能精简些~~,
/sbin/ip addr|awk '/peer/{print $2}'
比用ifconfig要简炼点吧~
  KornLee 当前离线   回复时引用此帖
旧 04-02-12, 19:42 第 5 帖
home
 
 
 
已封禁  
  注册日期: Nov 2003
  帖子: 1,150
  精华: 5
 

我感到抱歉,上面的脚本有点问题,现在我已经改过,请用现在的脚本。。。。

斑竹的注意不错,可以改改的。。

此帖于 04-02-12 19:44 被 home 编辑.
  home 当前离线   回复时引用此帖
旧 04-02-12, 20:30 第 6 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

我用adsl-setup设置,用adsl-start和adsl-stop来启动/停止,
btw:ip的用法实在要比ifconfig功能多得多
  KornLee 当前离线   回复时引用此帖
旧 04-02-12, 22:18 第 7 帖
7dehao 帅哥
 
7dehao 的头像
 
 
资深版主  
  注册日期: Aug 2002
  我的住址: 上海
  帖子: 4,939
  精华: 4
 

ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"

这句话好象有点问题,我执行的结果第一行有字符“Link",第二行是IP地址。这句怎么样:
#ifconfig eth0 | sed -n 's/^.*addr:\([0-9.]*\).*$/\1/p'







__________________
新手提问前请先看下面这个链接,谢谢大家配合:
bbs.linuxsir.org/showthread.php?t=112318
我的博客http://blog.chinaunix.net/u/33031/
Intel Core 2 Due E6550/P5K SE/2x1G/NVIDIA 6200LE/WD1600AAJS/NEC LCD195VX/2.6.31-gentoo
  7dehao 当前离线   回复时引用此帖
旧 04-02-12, 22:57 第 8 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

每个系统都不同,要看情况,贴出的的ifconfig 看看.
  devel 当前离线   回复时引用此帖
旧 04-02-13, 00:26 第 9 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 7dehao 发表
ifconfig ppp0|grep addr|awk '{print $2}'|cut -f2 -d ":"

这句话好象有点问题,我执行的结果第一行有字符“Link",第二行是IP地址。这句怎么样:
#ifconfig eth0 | sed -n 's/^.*addr:\([0-9.]*\).*$/\1/p'
:ask,这样的结果是什么? 我测试后什么都没有呀~~,另外,一般取IP地址都用ppp来作为关键字~,用eth0还是....最好把你的ifconfig的结果贴出来 .
  KornLee 当前离线   回复时引用此帖
旧 04-02-13, 12:08 第 10 帖
7dehao 帅哥
 
7dehao 的头像
 
 
资深版主  
  注册日期: Aug 2002
  我的住址: 上海
  帖子: 4,939
  精华: 4
 

引用:
最初由 javalee 发表
:ask,这样的结果是什么? 我测试后什么都没有呀~~,另外,一般取IP地址都用ppp来作为关键字~,用eth0还是....最好把你的ifconfig的结果贴出来 .
我是在路由器后面上adsl的,ifconfig -a 没有ppp0,所以测试的时候就用eth0了,如果是直接接adsl的话可以把eth0换成ppp0,应该没什么问题.
  7dehao 当前离线   回复时引用此帖
旧 05-03-01, 19:46 第 11 帖
Kinwa
 
Kinwa 的头像
 
 
注册会员  
  注册日期: Nov 2004
  帖子: 121
  精华: 0
 

我是用pppoe拔号上网的。上网是pon ,断网用poff,面我不是包月用户,能不能在脚本里加上记时功能。
这对于不是包月的用来说是很有用的。







__________________
我的硬件:MSI KT400Ultra+AMD Ath XP 1900+256M DDR333 kingston+Geforce 4 mx440+Togo2声卡
系统:redhat7.2(kernel2.4.28)+Hiweed-Debian(kernel 2.6.8-1-K7)
  Kinwa 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:23


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org