0
# match_max 1000000000
  set timeout 60
  spawn ssh -o "StrictHostKeyChecking no" "$username@$hostname"
  match_max 1000000000

如果在我使用 ssh 之前给出了 match_max 选项,我不会得到完整的输出,expect_out(buffer)但是如果我在 SSH 之后给出相同的东西,我会得到正确的结果。

另外,如果我在第一种情况下使用 -d 选项,我会得到完整的输出。为什么?

另外,如何检查为我的 Linux 系统设置了多少缓冲区?我寻找limit命令但找不到它。

4

1 回答 1

1

关于match_max命令的期望手册页如下

match_max [-d] [-i spawn_id] [size]
defines the size of the buffer (in bytes) used internally by expect. With no size argument, the current size is returned. With the -d flag, the default size is set. (The initial default is 2000.) With the -i flag, the size is set for the named spawn id, otherwise it is set for the current process.

这正是您所观察到的(因为-i未指定)。

于 2013-04-08T10:03:08.163 回答