问题标签 [expect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
22110 浏览

unix - expect -send 的问题:spawn id exp4 not open

我的期望代码是这样做的:它通过 ssh 连接到另一台机器,发送密码,然后返回该机器的主机名。我在下面给出了我的代码示例
#!/usr/bin/expect -f
set ipaddr [lrange $argv 0 0]
set password [lrange $argv 1 1]
set timeout -1
spawn ssh root@$ipaddr hostname
match_max 100000
expect "*assword:*"
send -- "$password\r"
expect eof

此代码多次完美运行,但间歇性地,我收到以下错误
send: spawn id exp4 not open
while execution
"send -- "$password\r" “

为什么会这样?

0 投票
1 回答
1333 浏览

tcl - 期望 - 不强制输入生成的进程

这里日志文件的输出为:

所以看起来好像输入不是强制的。上面的脚本有问题吗?

0 投票
2 回答
2440 浏览

serial-port - Tcl Serial Port fconfigure 可移植性问题

我有一个 Tcl/Expect 程序可以读取和写入数据到串行端口。我在 Fedora 7 机器上进行了所有开发和测试,但我现在尝试在 Ubuntu 8.10 中运行相同的代码,但出现以下错误:

我在 Fedora 中没有问题,只有 Ubuntu。似乎它不喜欢为 fconfigure 提供串行选项,但我不知道这样做的另一种方法。两台机器都有 Tcl 8.4。

这是相关的代码片段:

有谁知道出了什么问题?谢谢你的帮助!

0 投票
2 回答
2252 浏览

linux - 使用 ssh 在 linux 上安装 java

我想在多台使用 ssh 的计算机上安装 java,所以我想编写一个 bash 脚本(大致):

问题是在java安装期间我需要“阅读”通知并在最后输入“yes”。我该怎么做?有比“期望”更简单的方法吗?如果不是,我如何将它放入 bash 脚本中?

多谢

0 投票
3 回答
73445 浏览

bash - 在“期望”中使用条件语句

我需要使用expect自动登录到 TELNET 会话,但我需要处理同一个用户名的多个密码。

这是我需要创建的流程:

  1. 打开到 IP 的 TELNET 会话
  2. 发送用户名
  3. 发送密码
  4. 密码错误?再次发送相同的用户名,然后发送不同的密码
  5. 此时应该已经成功登录...

对于它的价值,这是我到目前为止所得到的:

不用说这不起作用,而且看起来也不是很漂亮。从我与 Google 的冒险经历来看,expect似乎是一种黑暗艺术。提前感谢任何人在此事上的帮助!

0 投票
1 回答
270 浏览

tcl - spawn process in win XP

I am trying to create a automated ftp log in script in Expect/TCL.

This is my script

I get an error in Windows XP saying , it encountered an error and needs to close . But same thing work on a windows 2000 .

Can anyone guide me .

0 投票
1 回答
3658 浏览

perl - 如何使用 Expect.pm 将箭头键按下发送到进程

看起来这应该很明显,但是如何使用 Expect.pm 将箭头键按下发送到进程?这取决于我使用的终端类型(vt100)还是我发送键盘扫描码?

TIA。

0 投票
3 回答
1929 浏览

tcl - 期望参数处理

我想创建一个期望脚本,通过 telnet 连接到服务器并进行一些授权。不过,我在使用脚本参数时遇到了问题。基于 man 我希望这会起作用:

不幸的是我回来了can't read "argv1": no such variable。如何使这项工作?

0 投票
2 回答
4545 浏览

bash - 从 bash 脚本调用的期望命令中的条件语句

我一直在尝试在我的 cisco 设备上自动执行一些配置备份,我已经设法完成了完成任务的脚本,但我也在尝试改进它以处理错误。

我认为有必要在两个步骤中捕获错误,首先是在 'send \"$pass\r\"' 之后获取登录错误(访问被拒绝消息)和在 'expect \": end\"' 行,确保发出的命令能够从设备中提取配置。

如果您使用期望脚本,我已经看到了一些方法,但我想使用 bash 脚本来提供来自 .txt 文件的设备列表。

0 投票
1 回答
363 浏览

gcc - 如何在期望脚本中嵌入 gcc 和 gcov 命令

我想将 gcc 和 gcov 命令作为期望脚本的一部分嵌入..

我试过了。。

但它不会运行并执行命令。

对此有何见解?谢谢。


我遇到的问题是我不确定如何将命令嵌入到正确的位置。我所知道的是有一个给定的测试用例如下: -

这包含在名为 testfile 的特定文件中。一旦在 Perl 脚本中执行了这个测试文件,就会生成一个输出。

如下所示:

我试图将您之前建议的 expect 命令放在一个名为的单独文件中,并传递给一个名为 ... $MY_FILEin的新变量$IN_DIR

然后,我通过了$IN_DIR/$MY_FILE

但它没有做任何事情。.gcno 文件也没有执行,因此 .gcov。