对密码使用expect不起作用,不输入任何内容

时间:2016-05-16 19:30:38

标签: bash shell expect heredoc su

我正在尝试使用expect在脚本中输入值,其中一些值是密码。

期望不输入密码,它笨拙地结束其子脚本然后自己。

我把它简化为简单 - 尝试更改用户

su - some_random_user
./suscript

其中的标题是:

#!/bin/bash

expect <<- DONE
    spawn su - root
    expect -ex {assword:}
    send -- "my_password\n"
DONE

这似乎有什么问题吗?我认为没有理由不这样做。

编辑 - 我想我发现了问题,现在我只需要解决方案。 我正在运行的脚本(以及上面的脚本)都调用passwd,这个进程不是由expect产生的,因此不会被期望监听。 我确切知道什么时候会生成passwd,所以我可以坐在等待循环中,直到我在进程列表中看到它。

问题是 - 一旦我得到一个PID /进程名称,我该如何让它听起来好像它催生了这个进程?

0 个答案:

没有答案