如何使用 expect to spawn with arguments from 命令行?
How to use expect to spawn with arguments from command line?
假设我通过
调用my.exp
my.exp cmd a b c d ...
我想将 my.exp 的所有参数传递给 spawn。但是我找不到这样做的方法。有没有办法用期望来做到这一点?谢谢
#!/usr/bin/env expect
spawn $argv
...
您想使用 tcl 的 argument expansion 语法来执行此操作:
spawn {*}$argv
示例
my.exp:
#!/usr/bin/env expect
log_user 0
puts "Spawning '$argv'"
spawn {*}$argv
expect *foo* { puts "Got: '[string trim $expect_out(buffer)]'" }
用法:
$ ./my.exp echo foo bar
Spawning 'echo foo bar'
Got: 'foo bar'
假设我通过
调用my.exp
my.exp cmd a b c d ...
我想将 my.exp 的所有参数传递给 spawn。但是我找不到这样做的方法。有没有办法用期望来做到这一点?谢谢
#!/usr/bin/env expect
spawn $argv
...
您想使用 tcl 的 argument expansion 语法来执行此操作:
spawn {*}$argv
示例
my.exp:
#!/usr/bin/env expect
log_user 0
puts "Spawning '$argv'"
spawn {*}$argv
expect *foo* { puts "Got: '[string trim $expect_out(buffer)]'" }
用法:
$ ./my.exp echo foo bar
Spawning 'echo foo bar'
Got: 'foo bar'