0

以下代码工作正常。当我键入“aaa”时,交互会话将关闭。

#!/usr/bin/tclsh
package require Expect
log_user 1
spawn su
expect "ssword:"
send "root\n"

interact "abcdefgh" return

当我开始输入abc...时,它在终端上不可见。如果它恰好是交互的功能,还有其他方法可以查看我正在输入的内容吗?

例子。

我输入a设备,它是不可见的。type, abcdefg,这些也是不可见的。但是当我输入 'abcdefgh' 时,不可见但交互结束。

如果我输入aand then z,它是可见的,因为模式abcdefgh不匹配。当我们不打算打字时,这会激怒我们abcdefgh

如果你不明白我在问什么,请问我。

4

1 回答 1

1

“我认为您需要使用 \r 而不是 \n 发送。此外,交互命令不带任何参数。”

根据 Johannes Kuhn 的说法,interact确实需要参数。我相信我阅读的文档要么很旧,要么没有提到这一点。

至于第二个问题,我还在看书,在旧代码中挖掘答案。找到后我会更新我的答案。

于 2013-09-20T05:58:21.423 回答