2017-01-12 59 views
0

我試圖在遠程機器上執行命令,grep輸出,把它放在一個文件中,然後關閉連接。 這是我有:SSH到遠程機器,grep輸出,關閉連接

#!/bin/bash 

sshpass -p ***** ssh [email protected] | grep 'TEXT' > output.txt 

的腳本停止,沒有輸出在output.txt的

任何想法如何我可以編寫腳本呢?

+2

哪裏是你的命令?我在管道後看到只有grep –

+0

命令是grep,我只想在SSH會話後grep輸出。當我登錄到遠程機器時,我需要的信息在登錄後默認顯示,所以我對我想要的文本執行grep,並且我想將它放入文本文件並關閉ssh連接。 – bana123

+0

@ bana123,不,這不是你如何使用這些工具。你的SSH需要運行一個命令。如果您使用管道連接它們,那麼該命令的輸出將成爲'grep'命令的輸入。或者,如果要在遠程計算機上執行'grep',並直接查看某個(當前未指定的)輸入文件,則需要刪除管道。 – ghoti

回答

0

試試這個。

#!/bin/bash 

sshpass -p ***** ssh [email protected] " grep 'TEXT' > output.txt" 
在你的shell腳本

,你只需要使用ssh登錄你刪除的服務器,並執行ssh命令後,再運行在你grep本地機器,所以,你什麼也得不到

+0

我不明白你的意思。你的命令與我的相同,在上面發佈。 – bana123

+0

有你試試我的劇本,也許您發表評論:) – samray

+0

之前,我後續錯誤,你可以嘗試: 'buffer_get_ret:試圖獲得更多的字節4比緩衝器0 buffer_get_int:緩衝error' – bana123

相關問題