如何在expect脚本中计算命令行参数?

时间:2011-03-18 12:12:22

标签: expect

这是我简单的期望脚本:

#!/usr/local/bin/expect
puts "Argu 1 : [lindex $argv 0]"

Run
---
expect example.expt Testing

Output
------
Argu 1: Tesing

我需要计算由命令行传递的参数。像这样:

expect example.expt 1 2 3 4

I need the script for the following output
Total: 4 arguments
Arg1: 1
Arg2: 2
Arg3: 3
Arg4: 4

我该怎么做?谢谢!

2 个答案:

答案 0 :(得分:4)

expect使用Tcl作为脚本语言。您正在寻找llength命令:

puts "Total: [llength $argv] argument(s)"

答案 1 :(得分:0)

迟到但我觉得有用。

这将打印命令行参数的数量和参数列表。

#!/usr/bin/expect -f

puts "No of Command Line Arguments : [llength $argv]"

puts "Arguments List "
set argsCount [llength $argv];
set i 0
while {$i < $argsCount } {
    puts [lindex $argv $i]
    set i [expr $i+1];
}

有关期望脚本的更多详情,请访问here