远程 ssh 脚本上的调整大小和 stty 出现问题?

远程 ssh 脚本上的调整大小和 stty 出现问题?

设想:源主机(Solaris 5.10,KSH),我尝试运行以下名为的脚本样本.ksh来源

#!/bin/ksh
set -x
Rediscover ()
{
ssh user@hostB ./scripts/test.ksh
}
Rediscover
exit 0

远程主机:Linux(bash shell),我有以下脚本测试.ksh

#!/bin/bash -x
resize
stty -a
exit

问题:我可以直接在 Linux 主机上运行 test.ksh,没有任何问题,但是当我尝试从 Solaris 远程运行它时,出现以下错误。

root@hostA# ./sample.ksh
+ Rediscover
+ resize
resize:  can't open terminal /dev/tty
+ stty -a
stty: standard input: Invalid argument
+ exit
+ exit 0

为什么我无法远程看到 resize 和 stty -a 的输出?

SSH 密钥从 A 到 B 设置

答案1

您可以-tt在脚本中使用 switch 强制交互式会话:

ssh -tt user@hostB ./scripts/test.ksh

hostB否则,将不会分配TTY ,并且您将收到此类错误。

相关内容