变量
参数变量
if条件语句
- 变量
定义:set var value ?eg:set passwd?"1234" 打印expect脚本信息,可用send_user、puts用法类似shell中echo [[email?protected] expects]# cat var.exp
#!/usr/bin/expect
set passwd "1234"
puts $passwd
send_user "$passwdn"
[[email?protected] expects]# expect var.exp
1234
1234
[[email?protected] expects]#
- 参数变量
shell脚本中使用$0,$1,$2,$#,[email?protected]等表示特殊参数变量,except中使用$argv表示参数数组,使用【lindex $argv n】,n从0开始表接受的第一个参数,$argv0表示脚本名称如同shell的$0,$argc表示参数 的个数如同shell中$#,[lrange $argv 0 2] 表示1~3的参数。 [[email?protected] expects]# cat canshu.exp
#!/usr/bin/expect
set name [lindex $argv 0]
set home [lindex $argv 1]
set age [lindex $argv 2]
puts "$namet$homet$age"
puts "$argc"
send_user "$argv0 [lrange $argv 0 2]n"
[[email?protected] expects]# expect canshu.exp xuetong gx 18
xuetong gx 18
3
canshu.exp xuetong gx 18
[[email?protected] expects]# 执行脚本时必须要输入参数,没提示判断输入参数功能。可以通过if语句实现
- if语句
if?{条件表达式} { ?指令 }?else?{ ?指令 } 如之前的脚本可以添加判断传参个数条件: if {$argc != 3} {
send_user "usage:expect $argv0 name home agen"
exit
} #!/usr/bin/expect
if {$argc < 10} {
puts "error idea!"
} else {
puts "bingo !"
}
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|