expect学习之如何获取命令行参数和函数参数
2015-10-02 本文已影响0人
学会生活
学习本文后你将能够编写一个expect脚本,获取脚本的输入参数,并且在脚本中定义函数,获取函数的参数。
获取脚本的参数
运行expect脚本的方式:
% expect script.exp argv1 argv2
其中expect为expect脚本解释器,因此你的电脑上必须安装expect;script.exp为脚本文件;argv1,argv2为传递到脚本文件的参数。
#!/usr/bin/expect
for {set i 0} {$i < $argc} {incr i} {
puts "arg $i: [lindex $argv $i]"
}
[yellia .script]$ ./echo.exp 11 22 33
执行结果为:
arg 0: 11
arg 1: 22
arg 2: 33
如果你想获得当前执行脚本的名称,那么可以访问argv0
获取函数的参数
expect 和shell一样提供了很多command,并且expect的大多数功能都是以command的方式实现的,例如控制结构(if/for/while/switch)。函数的功能是通过proc命令提供的。
proc printParam {name sex} {
puts "name: $name"
puts "sex: $sex"
}
调用时必须传递对应个数的参数,否则会报错。