【发布时间】:2014-02-27 06:00:14
【问题描述】:
我曾尝试通过 I/O 重定向输入密码,例如 echo <password> | ssh <user>@<host>,但它当然不起作用。然后我发现 ssh 实际上是直接从 /dev/tty 而不是 STDIN 读取密码,所以 I/O 重定向对它不起作用。
据我所知,Expect 脚本是此类工作的标准方式。我很好奇Expect 是如何工作的?我猜它在子进程中运行目标程序,并将子进程的 /dev/tty 更改为引用另一个地方,但我不知道如何。
【问题讨论】: