登录可读的 plink 输出(sshlog 太笨拙了)

Posted

技术标签:

【中文标题】登录可读的 plink 输出(sshlog 太笨拙了)【英文标题】:logging in readable plink output (sshlog is too clumsy) 【发布时间】:2018-04-30 06:21:27 【问题描述】:

我正在使用 plink.exe 登录到远程 ssh 会话,以使用批处理脚本执行某些任务。在日志文件中以及在屏幕上获取这些命令的输出对我来说非常重要。

我尝试使用通常的批处理方式,即“plink servername -m cmd.txt>logfile.log”方式,但问题是它不会在运行批处理脚本的 Windows 终端上显示它。

然后我找到了plink的-sshlog选项。这完成了工作,即我可以在屏幕上和日志文件中获取输出,但这会导致输出如下:

我的实际输出从上图中的“te....”开始 输出有这些“00000010 74 65 72 ...”我不想要的bla bla字符。加上主要输出(如果我以交互方式使用 plink 将显示为“自动换行”并且看起来很糟糕,这使得一般用户很难理解

有什么方法可以防止 plink 在日志文件中输出不需要的 'sshlog' 字符? 要么 有没有其他方法可以在批处理脚本中的 plink/putty 会话中同时在屏幕上显示输出并记录失败?

【问题讨论】:

【参考方案1】:

考虑使用tee tool 或PowerShell Tee-Object cmdlet 或类似名称。

powershell "plink servername -m cmd.txt | Tee-Object logfile.log"

它将在屏幕上显示输出,但同时将其存储到本地文件中。

另见Displaying Windows command prompt output and redirecting it to a file。

【讨论】:

我不能使用除 windows 终端以外的任何外部程序。但是谢谢你,我认为你的回答告诉我我可以使用 windows powershell。 PS我是个菜鸟 是的,您也可以使用 PowerShell tee cmdlet。请参阅我编辑的答案。

以上是关于登录可读的 plink 输出(sshlog 太笨拙了)的主要内容,如果未能解决你的问题,请参考以下文章

以更可读的垂直格式显示查询的输出

如何以人类可读的格式输出(到日志)多级数组?

用于输出音频程序可读的 MIDI 文件或文本的 Python 接口

在 Unix shell 脚本中以可读的 JSON 格式显示 curl 输出

如何使用 Mahout 成功运行 kmeans 集群(尤其是获得人类可读的输出)

使用脚本以可读的 JSON 格式显示 curl 命令输出