在使用 Expect 的同时使用命令行参数

发布于 2024-11-05 19:17:47 字数 420 浏览 1 评论 0原文

您好,我正在使用 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"

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

Hi I am using expect to mput a file to a remote machine.I am passing the filename as a command line argument to the script.But error is throwing from the line

send -- "mput $1\r"

My code is as follows:

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"

Could anyone please suggest what is wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晨曦÷微暖 2024-11-12 19:17:47

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

Replace $1 with [lindex $argv 0]. The $argc variable tells the number of given arguments.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文