问题描述
假设我叫my.exp
my.exp cmd a b c d ...
我想将my.exp的所有参数传递给生成。但是我找不到办法。有办法做到期望吗?谢谢。
#!/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'