Tcl 如何在键入交互参数时使其可见?

Tcl 如何在键入交互参数时使其可见?,tcl,expect,Tcl,Expect,下面的代码工作正常。当我键入“aaa”时,Interactive会话将关闭 #!/usr/bin/tclsh package require Expect log_user 1 spawn su expect "ssword:" send "root\n" interact "abcdefgh" return 当我开始键入abc…时,它在终端上不可见。如果恰好是interact的功能,是否有其他方式查看我键入的内容 例如 我在设备中键入a,它不可见。键入,abcdefg,这些也不可见。但当我

下面的代码工作正常。当我键入“aaa”时,Interactive会话将关闭

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

interact "abcdefgh" return
当我开始键入
abc…
时,它在终端上不可见。如果恰好是interact的功能,是否有其他方式查看我键入的内容

例如

我在设备中键入
a
,它不可见。键入,
abcdefg
,这些也不可见。但当我键入'abcdefgh'时,不可见,但交互结束

如果我先键入
a
,然后键入
z
,则由于模式
abcdefgh
不匹配,因此它是可见的。 当我们不想输入
abcdefgh


如果您不理解我的要求,请询问我。

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

根据约翰内斯·库恩的说法,
interact
确实需要参数。我相信我读到的文件要么是旧的,要么没有提到这一点


至于第二个问题,我仍在看这本书,并通过旧代码寻找答案。找到答案后,我将更新我的答案。

我认为您需要发送\r而不是\n。此外,interact命令不接受任何参数。@HaiVu非常感谢HaiVu\r工作而不是\n。你能给我第二个问题的答案吗?@JohannesKuhn绝对可以。