附自动脚本范例:
netlogin:
#!/bin/bash
#by linuxjerry
#这个脚本用于自动判断当前用户是root还是普通用户,从而调用autoconnectasroot或autoconnect来进行上网认证。
#还有自动重连功能,方便在网络不好的条件下使用。下面的1000是重试次数,你可以自行更改。
for ((i=1;i<=1000;i++))
do
[[ $(id -u) -eq 0 ]]&&autoconnectasroot||autoconnect
done
自动配置脚本(也放在/usr/bin文件夹中):
autoconnectasroot:
#! /usr/bin/expect
# --by Linuxjerry 2004.10.
#这个脚本是为root用户使用xrgsu而写的,目的是省去每次输入上网帐户的麻烦。
#root用户要上网只需在命令提示行中输入autoconnectasroot就会自动连接上网了。
#在非root下不能使用本命令,所以建议用netlogin命令,它会自动判断是否可以使用本命令而做出正确的选择。
#如果你还嫌麻烦,那就在桌面上做个快捷方式,对象命令为:netlogin,以后双击就可以上网了。爽吧?
#如果您是第一次使用这个脚本,请先到/usr/local/bin/下用vi或kwrite修改autoconnectasroot文件,
#按说明填上您的帐号资料等。记住要保存哦!
#一般修改myNetUsername、myNetPassword 2处即可。
#以后使用这个脚本就不用输入任何帐号密码了,不过这样做的安全性,呵呵,你知道的啦。
send "如果您是第一次使用这个脚本,请先到/usr/local/bin/下修改autoconnect和autoconnectasroot文件,按说明填上您的帐号资料等。\r\n "
set timeout 3
spawn myxrgsu -a
expect "Please input your user name:"
send "myNetUsername\r"
#用你的上网帐号替换myNetUsername。
expect "Please input your password:"
send "myNetPassword\r"
#用你的上网密码myNetPassword
expect "Use DHCP,1-Use,0-UnUse(Default: 0):"
send "1\r"
#如果你是用动态ip,就将0改为1,否则为0
expect "Use default auth parameter,0-Use 1-UnUse(Default: 0):"
#是否使用默认参数,为了脚本简单这里只设计了为0的。
send "0\r"
sleep .2
set timeout 10
expect "Please input 'unauth' to LogOff:"
set timeout 360000
expect "xrgsu exit!"
sleep .2
send_user "Reconnect please.\r\r"
close
#end