使用expect时使用命令行参数

时间:2011-05-05 06:50:10

标签: scripting expect

您好我正在使用expect将文件移到远程机器上。我将文件名作为命令行参数传递给脚本。但错误是从行中抛出

send -- "mput $1\r"

我的代码如下:

set timeout 1000
spawn ftp $ipaddress
expect "Name "
send -- "$username\r"
expect "Password"
send -- "$passwd\r"
expect "ftp>"
send -- "mput $1\r"//error thrown from this line
expect "mput $1? "
send -- "y\r"
expect "ftp>"
send -- "bye\r"

有人可以建议这里有什么问题吗?

1 个答案:

答案 0 :(得分:10)

$1替换为[lindex $argv 0]$argc变量表示给定参数的数量。