EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
后台执行的方法:disconnect #!/usr/bin/expect spawn openvpn --config ./test.ovpn
1 W- r2 P" V8 M' y! c% Wexpect "*Username:"' a' s+ I) c0 h, E; X% J4 o7 @
send "root\r" expect "*Password:"
" [+ t7 F% q1 t9 Tsend "passwd\r" if [fork]!=0 exit" P0 z1 m- M3 h8 Y" @, \+ r* g
disconnect
1 l7 n4 l% x) t0 K- H4 q$ T( k0 ]传递参数的方法:set name [lindex $argv 0] #!/usr/bin/expect6 K6 _: E0 J& S, m* o3 V
4 z/ s' X2 `7 G* ?8 }! E- [0 u
if { $argc != 2 && $argc != 1 } {
/ r+ z2 r( N7 e3 q$ D send_user "Usage:auth username \[password\]\n". B S, a) a; Q& {: p
send_user "\tthe default password equals 0000\n"4 S5 x1 g0 H! n4 J
exit
) }. |/ x" z. p& _0 g% U}
' Z* l/ A5 F# W7 ~' A. M
4 ]. B8 x% `0 Pset name [lindex $argv 0]: ^/ _( L4 o5 t; ^
if { $argc == 2 } {8 d2 [; }5 A1 `/ _ T" T
set pass [lindex $argv 1]5 D; n$ M* c+ ^- N
} else { set pass "0000" }
- B1 n9 i' I# x! j2 T" O, T! l2 I& q7 e( h% \ O
spawn xrgsu
0 ^$ V: C2 L$ Q/ d9 o. X8 ^/ [3 @; n) h
# expect 开始
3 @4 Q% t) p; J9 P4 z! ]expect "*user*" { send ${name}\r }
: X& Q7 F2 z" g! F% Q E) m# eexpect "*password:" { send ${pass}\r }
$ i7 ], K, f# ~6 ~! \expect "*DHCP*" { send "\r" }: l$ G2 F- O' w+ p- n1 g7 i3 {* `, n
expect "*auth*" { send "\r" }0 R* D4 t. P8 F' s1 h' ^
/ Y% d$ o( B3 n8 P6 Binteract
( S- E3 v7 C9 n& O$ ^% p5 z6 T#EOF
- o0 z! i1 @8 t e/ y L |