【问题标题】:SSH to remote machine, grep output, close connectionSSH到远程机器,grep输出,关闭连接
【发布时间】:2017-01-12 13:12:07
【问题描述】:

我正在尝试在远程机器上执行命令,grep 输出,将其放入文件中,然后关闭连接。 这就是我所拥有的:

#!/bin/bash

sshpass -p ***** ssh user@remotemachine | grep 'TEXT' > output.txt

脚本停止,output.txt 中没有输出

有什么想法可以编写这个脚本吗?

【问题讨论】:

  • 你的命令在哪里?我只看到管道后的 grep
  • 命令是grep,我只想在SSH会话之后grep输出。当我登录到远程机器时,我需要的信息在登录后默认显示,所以我对我想要的文本进行 grep,我想把它放到一个文本文件中并关闭 ssh 连接。
  • @bana123,不,这不是您使用这些工具的方式。您的 SSH 需要运行命令。如果您使用管道连接它们,该命令的输出将成为grep 命令的输入。或者,如果您想在远程机器上执行 grep 并让它直接查看某个(当前未指定的)输入文件,则需要删除管道。
  • 另外,考虑使用键而不是sshpass

标签: linux ssh grep


【解决方案1】:

试试这个。

#!/bin/bash

sshpass -p ***** ssh user@remotemachine " grep 'TEXT' > output.txt"

在您的shell脚本中,您只需在删除服务器中使用ssh登录,然后在执行ssh命令后,然后在您的本地机器中运行grep,所以,您什么也得不到

【讨论】:

  • 我不明白你的意思。你的命令和我的一样,贴在上面。
  • 你试试我的脚本,也许你可以在发表评论之前尝试一下:)
  • 我收到以下错误:buffer_get_ret: trying to get more bytes 4 than in buffer 0 buffer_get_int: buffer error
  • sshd好像有问题,可能是你的authorized_keysknown_host有问题,也许你可以再检查一下
猜你喜欢
  • 2013-01-25
  • 2019-10-27
  • 2014-01-20
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 2012-02-03
  • 2020-04-28
相关资源
最近更新 更多