当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 21 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : ubuntu通过shell实现上网(已解决)
帖子发表于 : 2010-11-13 15:18 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
各位大侠好!
刚接触ubuntu不久,有很多的不懂,就连上网也成问题(校园网客户端:zdclient_bin_1.2_i686.tar.gz 图形界面中固定ip后,在终端在进入主文件中runzdclient 但是每隔5分钟就会掉一次线,之后还得自己重新输入指令……很麻烦的那种)但是聪明的小白的我,明白可以用shell脚本实现这一个功能(ping网关,如果ping不通则自动重新输入指令)。哈哈……这真是一个很NB的想法(。……。!汗)

问题得到解决了但一直没有回来小结(后来才知道这是一种对他人也是对自己不负责任的表现,通过大家讨论得到的解决方法是应该共同分享的)。 :em06

下面这是一个通过以ping ip来判断是否断网,然后实现自动重联:
代码:
#!/bin/bash

while [ true ]
do
ping -c 5 -W 3 192.168.216.254 &>/dev/null  #ping一个ip地址
if [ $? -ne 0 ]; then  #判断ping是否执行成功,若不成功(即是断网了)执行then
runzdclient -l          #这是我的客户端进程结束指令(这个换成你自己客户端进程结束指令)
sleep 0.5                #一个系统反应时间
runzdclient             #客户端执行指令(这个换成你自己的客户端联接指令)
fi
sleep 10   #这个时间跟据情况去设定
done


下面这一个则是通过判断自己网络几分钟断一次网来设定:
代码:
#!/bin/bash
time=260  #我的是5分钟断一次网,就设置了一个260
client=$HOME/runzdclient

while [ true ]
do
runzdclient -l
sleep 0.5
runzdclient
sleep 260
done


下面这是另外一种ping ip来重新联网的:
代码:
#!/bin/bash

while [ true ]
do
ping -c 5 195.168.216.254 &>/dev/null&&echo 在线||runzdclient -l
sleep 0.5
runzdclient
done


这里总结出了三种方法:通过shell重联客户端实现上网
虽然有了三种方法面且也能上网了,但是这样效果还是不怎么理想(网络不稳定,这个一般上网是没有问题了,在这样的情况在也还能完成语言包安装……基本上还可以。)毕竟这是客户端完整实现上网功能的好啊!
希望知道的大侠能帮我!(我那要用dhcp,一直都不知道怎么来弄啊……) :em06
这个runzdclient我是按照教程上安装在我的主文件夹中的,在写shell中没的指定路径但是却能执行成功(不知道是什么原因)。


最后由 fashionly 编辑于 2010-12-03 22:13,总共编辑了 3 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 16:08 
头像

注册: 2007-06-13 15:57
帖子: 12591
地址: 在他乡
送出感谢: 53
接收感谢: 90
代码:
ping -c5 192.168.0.121 &>/dev/null&&echo 在线||echo 断线
:em03


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 16:31 

注册: 2010-05-25 16:49
帖子: 186
送出感谢: 0 次
接收感谢: 0 次
这方法行不通
校园网的客户端是进行外网认证
无论通没通过认证 都能ping通网关的 改成ping DNS吧

如果固定每5分钟掉线 不如认证过期内重运行一下客户端


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 17:59 

注册: 2010-05-25 16:49
帖子: 186
送出感谢: 0 次
接收感谢: 0 次
#!/bin/bash

time=260 #认证间隔(秒)
client=$HOME/mystarV0.1/mystar #客户端路径

while [ true ]
do
killall -9 `basename $client` &>/dev/null
$client &
sleep $time
done


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 18:10 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
only_one 大侠

我的客户端用的是:zdclient

#!/bin/bash

time=260
client=$home/runzdclient

while [true]
do
killall -9 'basename $ client' &>/dev/null
sclient &
sleep $time
done

但是条件 (断开还是连通)不知道彼插入进去啊,还有就是ping dns 呢……该怎么加入啊? :em03


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 19:14 

注册: 2010-05-25 16:49
帖子: 186
送出感谢: 0 次
接收感谢: 0 次
only_one 写道:
#!/bin/bash

time=260 #认证间隔(秒)
client=$HOME/mystarV0.1/mystar #客户端路径

while [ true ]
do
killall -9 `basename $client` &>/dev/null
$client &
sleep $time
done


直接把上面的客户端路径改成你的,$HOME是家目录 是大写!
不用ping了
不行缩短一下认证间隔


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 19:22 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
sleep $time

这个time 可以随便写一个吗?


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 19:25 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
./ubuntu.sh:line 6:[true]:找不到 命令

结果是这样啊…… :em20


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 19:56 

注册: 2010-05-25 16:49
帖子: 186
送出感谢: 0 次
接收感谢: 0 次
[ true ] 有空格的
照我的复制啊


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 20:21 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
啊……哦
但是,现在它显示sleep缺少操作数


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 20:27 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
我把 sleep $time 换成 sleep time 之后 以显示:‘line 9 :sclient:找不到命令’(这个一个循环出现这名话)


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 20:36 

注册: 2010-05-25 16:49
帖子: 186
送出感谢: 0 次
接收感谢: 0 次
:em20
不要乱改 照抄我的
把客户端路径 改了就行了!


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 20:50 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
only_one 大侠 我知道错了!
这个最终的运行结界出来了(而且也成功实现自动拔号了,但是它不能输入断网后的下线指令,而是一直的拔号)

#!/bin/bash

time=260
client=$HOME/runzdclient

while [ true ]
do
killall -9 'basename $ client' &>/dev/null
$client &
sleep 10
done


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 23:33 

注册: 2010-11-13 14:40
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
有一定的shell基础,再回过来看 向only_one所提的问题,确实是很‘弱智’的。在这里谢了……
但是执行这个shell脚本,我还是碰到一些问题:
#!/bin/bash

time=260
client=$HOME/runzdclient

while [ true ]
do
killall -9 'basename $client' &>/dev/null
$client &
done
如果把“&>/dev/null”去掉,在终端显示不能杀死客户端的进程。
还有的就是“-9” 到底是数字9,还是字母g
剩一个就是“ ‘basename $client’ ”是什么意思 啊?


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 一个shell让我很崩溃: ping
帖子发表于 : 2010-11-13 23:38 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
killall -9 'basename $client' &>/dev/null
这样的写法就麻烦,basename就是取路径的最后文件名。

不如 pkill -9 runzd


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 21 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译