Как посчитать аргументы командной строки в ожидаемом скрипте?

Это мой простой сценарий ожидания:

#!/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 ответа

Решение

expect использует Tcl в качестве языка сценариев. Вы ищете команду llength:

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

Поздно, но будет полезно, я думаю.

Это печатает количество аргументов командной строки и список аргументов, а также.

#!/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];
}

Более подробную информацию об ожидаемых сценариях можно найти здесь

Другие вопросы по тегам