问题标签 [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 投票
2 回答
5408 浏览

tcl - Timeout doesn't work with '-re' flag in expect script

I'm trying to get an expect script to work, and when I use the -re flag (to invoke regular expression parsing), the 'timeout' keyword seems to no longer work. When the following script is run, I get the message 'timed out at step 1', then 'starting step 2' and then it times out but does NOT print the 'timed out at step 2' I just get a new prompt.

Ideas?

0 投票
7 回答
18934 浏览

authentication - 在不使用公钥身份验证或期望的情况下自动化 SSH(1)

有没有办法自动将密码传递给 ssh。我想通过某种方式让 ssh 从标准输入或文件中读取密码,从而在使用公钥身份验证或期望脚本的情况下自动 ssh 到服务器。

必须采用这种方式的原因是我想将我的文件备份到使用 rsync/ssh 作为 cron 作业运行的服务器上。该服务器在对我进行身份验证后挂载我的主目录,因此使用公钥身份验证不起作用,因为 ~/.ssh 在登录成功之前不可用。expect(1) 是不可能的,因为我想将它作为 cron 作业运行,并且由于 cron 作业不在终端下运行,expect/ssh 的组合不起作用。我没有对该服务器的 root 访问权限,并且很难让管理员对那里的工作方式进行任何更改。

0 投票
2 回答
6110 浏览

expect - 期望脚本的问题

我正在尝试创建一个脚本以非交互式方式更新密码。它在我的笔记本电脑上工作,但在我的服务器上失败。两者都使用 Etch 运行相同的配置。

这是脚本:

在服务器上,输出如下所示:

所以不起作用,因为这对夫妇期望发送似乎不同步。

但奇怪的是,在我的笔记本电脑上它可以工作:

任何想法为什么它在服务器上出错?谢谢

0 投票
2 回答
282 浏览

expect - 如何在我自己的机器(win xp)上的程序中调用可执行文件以在单独的机器上运行?

我的目标是编写一个程序,该程序将调用另一台计算机上的另一个可执行文件(全部使用 win xp),其参数在运行时确定,然后在多台计算机上重复,然后收集结果。简而言之,我正在从事一个网格计算项目。正在使用的算法本身已经在 FORTRAN 中编码,但我们正在寻找一种有效的方法来一次在多台计算机上运行它。

我想实现这一点的一种方法是将脚本上传到每台计算机,然后在每台计算机上运行所述脚本,所有这些都自动并取决于我自己的参数。但是我怎样才能编写一个程序来在另一台计算机上写入、上传和运行脚本呢?

我曾考虑过 GridGain,但该算法已经被编码并且使用了不同的语言,因此被排除在外。

我目前完成这项任务的猜测是使用 Expect ( wiki/Expect ),但我对该工具一无所知。

任何建议表示赞赏。

0 投票
6 回答
62106 浏览

ssh - 使用期望将密码传递给 ssh

如何使用 expect 向 ssh 连接发送密码。

说密码是 p@ssword 并且 ssh 命令是 ssh me@127.0.0.1

当它说时,我会怎么做才能让它输入密码

me@127.0.0.1的密码:

使用 SSH 密钥对的正确操作不是一个选项,因为我必须使用 ssh (scp) 将密钥放在服务器上,这会要求输入密码。

0 投票
1 回答
1183 浏览

linux - 让 Expect 交互直到程序终止

我正在使用 Expect Linux 工具,我必须与 shell 交互。但是,这不是真正的互动,我只是想看看发生了什么。交互程序退出后如何让 Expect 退出?

0 投票
2 回答
7365 浏览

ruby - Ruby - Expect 和 Pty 的问题

我正在尝试编写一个 Ruby 脚本,它将通过 ssh 连接到服务器,运行给定的命令,并从中获取输出。到目前为止,这是我所得到的,主要改编自Programming Ruby书:

不幸的是,我得到的只是这个:

知道我做错了什么以及如何减轻这种情况吗?

0 投票
4 回答
17008 浏览

scripting - spawn 和 exec 有什么区别?

我正在学习编写 TCL(预期)脚本,我注意到一些示例显示使用 spawn,而其他示例显示命令 exec。我尝试谷歌搜索,但找不到有什么区别?

假设我在一个很长的期望脚本中间调用 'exec',我会发生什么?

0 投票
5 回答
7180 浏览

scripting - 如何重命名/移动具有特定扩展名的所有文件?

我正在学习 tcl (expect),现在我遇到了一个有趣的问题。我需要一个命令来移动/重命名一堆扩展名为 .status 的文件。我试过这些:

当然,那没有用。我用谷歌搜索了一下,发现了一些关于 glob 的东西,但它似乎并没有按照我想要的方式工作。如果我做:

mv抱怨说“1.status 2.status 3.status ...等” 不是一个有效的文件。就好像整个文件列表连接在一个字符串中,而不是单独处理。

试图通过谷歌查找更多信息导致我发现很多损坏和过时的链接,所以我希望除了解决这个问题之外,你能否指出一些关于 tcl/expect 基础知识和常见陷阱的好的在线资源。

更新:只接受在 /bin 中使用标准 tcl 和标准工具的解决方案。

0 投票
6 回答
20944 浏览

perl - 如何在 Perl 脚本中加密或隐藏密码?

我正在研究使用Expect通过 telnet 登录到远程机器的 Perl 脚本(不要问,必须使用 telnet)。我还根据需要执行 p4 登录操作,并使用 expect 来输入正确的密码。现在我只是从明文环境变量 ie 中读取密码export PASSWORD=password,我知道这在安全方面并不好。

对于像这样的脚本需要大量密码用于多个系统,存储密码的最佳方法是什么?以某种方式加密在文本文件中?或者是其他东西?

请记住,我无法轻易更改现有系统,例如我无法真正安装 SSH 或类似的东西。