#!/bin/bash
func(){
exec > /dev/null 2>&1
while true
do
ping -c 1 自己的网关
YES=` echo $? `
if [ $YES -ne 0 ]
then
echo "password" | sudo -S mentohust -k
echo "password" | sudo -S mentohust
sleep 30
fi
done
}
func&
把这个文件的启动放到/etc/rc.local,这是进入桌面的初始化文件。
讲一下这个shell文件。首先fun这个函数后台运行,fun函数把所有的输出都重定向到“黑洞”里,因为开启mentohust会输出一些东西,有一个死循环,用于一直监听是否断网,ping一个数据包给自己网关(自己网关可以用命令netstat -r gateway下面的就是网关)查看前一个操作是否成功,如果不等于零就是不成功。。。linux就这规矩,因为有时候连着也断网了,所以先退出(如果本来不连着加这句也没关系),再登陆,密码改成你自己的密码。我之所以睡30秒,因为连好后30s不出意外也不会断开-_-跟一直监听比30s其实也可以不睡。。。就这样了只要网络畅通,可以保证不断。