[问题]ADSL连接问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

[问题]ADSL连接问题

#1

帖子 delectate » 2008-06-26 22:20

以前用pppoeconf设置了adsl

然后执行pon dsl-provider可以连接上internet

执行poff -a可以断开连接

但是要建立两个快捷方式

现在我想省事一下,但是不会了

思路如下:

if 未连接上(不知道怎么判断,想用ping来ping google,可是返回值不知道怎么判定)
执行 pon dsl-provider
else
poff -a
end if

怎么写代码?

谢谢
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#2

帖子 delectate » 2008-06-27 11:54

up now :D
头像
jimhu
帖子: 1322
注册时间: 2006-01-25 22:29
来自: 上海
联系:

#3

帖子 jimhu » 2008-06-27 12:39

NetworkManager好像也可以完成ADSL拨号任务。。。
* MACBOOK MB063CH/B
OS:Snow Leopard/XP
* AMD X2 3600+/2G RAM/160GB+500GB Seagate/7300GT
OS:Arch/Vista

Kubuntu User #18899

=================================
Full Circle中文杂志 | Ubuntu社区独立发行的电子月刊
http://www.freeearth.org.cn
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#4

帖子 delectate » 2008-06-27 12:47

自学搞定!

代码如下

代码: 全选

#!/bin/bash

if ! ping -c 1 g.cn 2>/dev/null |grep "ttl=[0-9]\+"
then
pon dsl-provider
else
poff -a
fi 

判断用的是ping,ping的是google中国分站g.cn

如果adsl没有拨号,那么就连接上

如果已经连接上,就断开连接

感到shell的强大!!
头像
JangMunho
帖子: 1347
注册时间: 2006-01-18 12:55
来自: 也许真的没有人理解

#5

帖子 JangMunho » 2008-06-27 12:55

pon-DSL 是有进程的, 只要用ps加grep就能判断, ping的命令太慢.
如果你用alias就会使命令很简单, 不用写脚本.
MacBook Pro 15" User
Cocoa Programmer
ubunturoot
帖子: 20
注册时间: 2008-06-27 15:31
来自: Shanghai

#6

帖子 ubunturoot » 2008-06-27 15:52

......
上次由 ubunturoot 在 2008-09-08 10:32,总共编辑 1 次。
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#7

帖子 delectate » 2008-06-27 16:40

JangMunho 写了:pon-DSL 是有进程的, 只要用ps加grep就能判断, ping的命令太慢.
如果你用alias就会使命令很简单, 不用写脚本.
请指教! :em06

顺便谢谢6F,但是我和您所说的不一样 :em32
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#8

帖子 delectate » 2008-06-27 16:52

JangMunho 写了:pon-DSL 是有进程的, 只要用ps加grep就能判断, ping的命令太慢.
如果你用alias就会使命令很简单, 不用写脚本.
的确速度很慢

但是至少 不用想以前一样到处找启动器去按

这个虽然省事,但是速度的确慢得惊人

但是怎么判定pon-DSL进程呢?

alias我已经google过了,明白一些关于他的东西了

但是这个东西还是不能判断目前连接状况进行连接/断开操作吧!

ps:版主帮忙移动一下帖子好么?

我发错区了,应该改到shell脚本,谢谢!~
ubunturoot
帖子: 20
注册时间: 2008-06-27 15:31
来自: Shanghai

#9

帖子 ubunturoot » 2008-06-27 17:47

后代 写了:
JangMunho 写了:pon-DSL 是有进程的, 只要用ps加grep就能判断, ping的命令太慢.
如果你用alias就会使命令很简单, 不用写脚本.
请指教! :em06

顺便谢谢6F,但是我和您所说的不一样 :em32
惭愧一下。 :oops:
头像
jarlyyn
帖子: 4671
注册时间: 2006-04-12 18:54
联系:

#10

帖子 jarlyyn » 2008-06-27 21:33

抓 firefox 是否运行的语句:


test=$(ps -A | grep "firefox")
if [ "#"$test == "#" ]
then
#firefox没有运行
else
#firefox 运行了
fi
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#11

帖子 delectate » 2008-06-27 21:40

jarlyyn 写了:抓 firefox 是否运行的语句:


test=$(ps -A | grep "firefox")
if [ "#"$test == "#" ]
then
#firefox没有运行
else
#firefox 运行了
fi
我试试看

但是不论任何时候我这里都没有那个进程存在呢??
附件
Screenshot.png
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#12

帖子 delectate » 2008-06-27 21:43

后代 写了:
jarlyyn 写了:抓 firefox 是否运行的语句:


test=$(ps -A | grep "firefox")
if [ "#"$test == "#" ]
then
#firefox没有运行
else
#firefox 运行了
fi
我试试看

但是不论任何时候我这里都没有那个进程存在呢??
是那个pppd么?

可是如果它存在就证明建立连接么?
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#13

帖子 delectate » 2008-06-27 22:14

jarlyyn 写了:抓 firefox 是否运行的语句:


test=$(ps -A | grep "firefox")
if [ "#"$test == "#" ]
then
#firefox没有运行
else
#firefox 运行了
fi
测试,无效

均提示运行了

我晕 :em25 :em24
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

#14

帖子 delectate » 2008-06-28 11:47

现在可以抓住进程了

但是抓住pppd没有用

adsl连接上后,存在pppd进程,但是脚本提示没有运行

而adsl度啊开后,不存在pppd进程,也提示没有运行

如果把脚本改成其他程序,就没有问题

判断语句:ps ax | grep pppd
头像
jarlyyn
帖子: 4671
注册时间: 2006-04-12 18:54
联系:

#15

帖子 jarlyyn » 2008-06-28 16:47

代码: 全选

test=$(ps -C firefox | grep "firefox")
if [ "\#$test" == "\#" ]
then
echo "firefox没有运行"
else
echo "firefox 运行了"
fi
bash可用
回复