Как посчитать аргументы командной строки в ожидаемом скрипте? - PullRequest
4 голосов
/ 18 марта 2011

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

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

4 голосов
/ 18 марта 2011

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

puts "Total: [llength $argv] argument(s)"
0 голосов
/ 13 октября 2017

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

Здесь выводится количество аргументов командной строки и список аргументов.

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

Подробнее об ожидаемых сценариях можно найти здесь

...