以下代码正常。当我输入'aaa'时,交互会话将被关闭。
#!/usr/bin/tclsh
package require Expect
log_user 1
spawn su
expect "ssword:"
send "root\n"
interact "abcdefgh" return
当我开始输入abc...
时,它在终端上不可见。如果恰好是交互的功能,还有其他方法可以查看我正在输入的内容吗?
实施例
我在设备中输入a
,它不可见。类型,abcdefg
,这些也是不可见的。但是当我输入'abcdefgh'时,不可见但是交互结束。
如果我输入a
然后z
,则会显示,因为模式abcdefgh
不匹配。
当我们不打算输入abcdefgh
答案 0 :(得分:1)
“我相信您需要使用\ r而不是\ n发送。此外,interactive命令不接受任何参数。”
根据Johannes Kuhn的说法,interact
确实采用了参数。我相信我读过的文件要么陈旧,要么就不提这个。
至于第二个问题,我仍然在看这本书并挖掘旧代码以寻求答案。我找到后会更新我的答案。