expect是很强悍的脚本,网上资源虽然很经典,但很少,我把自己的测试脚本贴之,仅作参考
-
#!/usr/bin/expect -f
-
-
proc help {} {
-
puts {usage: <ivie_ip> [-p <password>] [cmd] }
-
}
-
-
if {$argc<1} { help ; exit}
-
set ip [ lindex $argv 0 ]
-
-
set password rootroot
-
set cmd ""
-
for {set i 1} {$i<$argc} {incr i 1} {
-
set m [lindex $argv $i]
-
switch $m {
-
"-p" { if {$argc<3} { help ; exit 1 }
-
set password [lindex $argv [expr 1+$i ]]
-
incr i 1
-
} default { puts "mm:$m"
-
lappend cmd $m
-
}
-
}
-
}
-
-
-
puts "$ip -p $password $cmd"
在处理bash的时候我也喜欢用循环加case处理,简单,可操作性大。
对于switch后面是有选项的 :-exact方式,-glob 方式,-regexp 方式, 缺省情况表示-glob 方式。-exact方式表示的是精确匹配,-glob 方式的匹配方式和 string match 命令的匹配方式相同 ,-regexp 方式是正规表达式的匹配方式。
阅读(876) | 评论(0) | 转发(0) |