EDA365电子论坛网

标题: 怎样让expect进程后台执行呢?看这里 [打印本页]

作者: mutougeda    时间: 2020-3-18 09:33
标题: 怎样让expect进程后台执行呢?看这里
后台执行的方法:disconnect
#!/usr/bin/expect
spawn openvpn --config ./test.ovpn   P/ `1 m+ s: ~6 y) {
expect "*Username:"( H5 [' s: _( \% Q4 u
send "root\r"
expect "*Password:"
+ |  [0 G" g/ O( L; Wsend "passwd\r"
if [fork]!=0 exit& a- K9 e* w! l0 w+ {$ r  _1 M
disconnect
/ H5 C& u) f" k7 l
传递参数的方法:set name [lindex $argv 0]
#!/usr/bin/expect: V/ c3 E: q) k' Y8 B! [: _+ j

1 k5 D) ~' |0 _  s* R8 A# D/ Mif { $argc != 2 && $argc != 1 } {9 }/ f/ y7 c* j2 D1 v! ?, m
    send_user "Usage:auth username \[password\]\n"
( n' G; Q4 ]7 P3 x    send_user "\tthe default password equals 0000\n"8 l3 j+ o' P% @# m8 F  D5 ]
    exit
1 N4 {5 a3 z3 r  s}
" [* k$ d5 k! Q9 N  n
% ]8 M' H8 R1 z4 @9 t5 V1 b. pset name [lindex $argv 0]7 S+ [3 j2 t# l/ H
if { $argc == 2 } {
3 q7 b7 i* Z  @6 A    set pass [lindex $argv 1]
3 f. V" J$ B% a/ r) D6 K/ h} else { set pass "0000" }& Z& F) J' t7 y' `
9 R- L. u' u) O$ f- ]
spawn xrgsu
8 h" \0 i% H! K, u. _( b
* i' A  l- ], K5 s/ g+ r# expect 开始1 ]* Y" i) Q; V% i
expect "*user*" { send ${name}\r }1 }& O: e0 K4 M( g3 d/ O
expect "*password:" { send ${pass}\r }
4 u% s; L% e% D( Qexpect "*DHCP*" { send "\r" }
; e# k$ I' h$ j* f3 Oexpect "*auth*" { send "\r" }
9 _, N# r5 X9 N: L7 g
8 k+ I) P4 G8 einteract! ]/ ]0 m0 G7 g" |1 @1 y1 x# }
#EOF
& z5 O! x) n7 {: q' u2 ^1 W2 o

作者: yin123    时间: 2020-3-18 18:03
让expect进程后台执行




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2