2017-01-12 18 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" 

、あなたは自分の削除サーバーにSSHログインを使用して、sshコマンドを実行した後、次にあなたにローカルマシンgrepを実行し、そう、あなたのコマンドである場合、あなたは何も

+0

私はあなたが意味することを理解していません。あなたのコマンドは上記と同じです。 – bana123

+0

は、あなたがコメントを投稿する前に、おそらくあなたは試みることができる、私のスクリプトを試してみる:) – samray

+0

私は次のエラーを取得: 'buffer_get_ret:0 buffer_get_intバッファよりも多くのバイト4を取得しよう:バッファERROR' – bana123

関連する問題