在 bash 中期望脚本并调整终端的大小

问题描述

我正在尝试在 SSH 会话中调整终端大小,这是由expect 产生的,它是由 bash 产生的。

#!/bin/bash

...
SSH_PASS=XXXXX
SSH_ADDR=YYYYY

expect <(cat << EOD

    trap {
        set rows [stty rows]
        set cols [stty columns]
        stty rows $rows columns $cols < $spawn_out(slave,name)
    } WINCH
    
    spawn ssh $SSH_ADDR
    expect "Password:"
    send -- "${SSH_PASS}\n"
    interact
EOD
)

当终端调整大小时,我收到类似

的消息
Couldn't open (slave,name): no such file or directory
while executing
"stty rows  columns  < (slave,name)"

所以,我假设由 $spawn_out(slave,name) 创建的 var expect 在内部是不可见的。如何实现?我试过了

global spawn_out

但它没有帮助。

提前致谢!

PS:我这里不能使用 SSH 密钥,这是我无法绕过的限制。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)