如何删除“与 xx.xxx.xx.xxx 的连接已关闭”消息?

Cho*_*per 24 linux ssh bash

#!/bin/bash

ssh -t $SSH "
    some
    commands
"
Run Code Online (Sandbox Code Playgroud)

“与 xx.xxx.xx.xxx 的连接已关闭”消息从何而来?即使有结果我也无法阻止它=ssh ...

Leo*_*Leo 42

如果您添加-o LogLevel=QUIET到 SSH 命令行,该消息应该会消失:

ssh -o LogLevel=QUIET -t $SSH "
      some 
      commands
"
Run Code Online (Sandbox Code Playgroud)

您也可以将其添加到~/.ssh/config文件中作为一行说LogLevel QUIET

  • 这应该是我公认的答案 (2认同)

Fra*_*ran 12

那是来自SSH。你看到它是因为你给了-t开关,这迫使 SSH 为连接分配一个伪终端。传统上,SSH 会显示该消息以明确表明您不再与远程主机上的 shell 交互,这通常只是当 SSH 分配了伪终端时才会出现的问题。


小智 8

我知道这是一个很老的问题,但它会出现在搜索中。

更好的答案在这里:当使用expect脚本中的交互处理ssh时,如何隐藏或编辑关闭ssh时的消息

基本上,使用该ssh -q选项 - 它对我来说非常有效。


小智 6

正如 Fran 提到的,这是因为 -t 开关。您可以通过附加来隐藏消息:

 2> /开发/空

您的代码如下所示:

#!/bin/bash

ssh -t $SSH"
    一些
    命令
" 2> /dev/null

这会将 STDERR 重定向到 /dev/null。请记住,所有可能出现的错误消息也将被重定向到 /dev/null,因此将被隐藏起来。