実行するスクリプトには、すべてのリモートコマンドの結果をコンソールのSTDOUTに出力する次のコマンドがあります。
ssh -t my-server1.my-domain.net << EOF
./bin/myApp
echo "Hello World"
ls ~/
EOF
この出力結果をローカルコンピュータに保存するにはどうすればよいですか?通常のパイプティーを使用したり、>
たとえばストリームをファイルにリダイレクトしてみました。
ssh -t my-server1.my-domain.net << EOF
./bin/myApp
echo "Hello World"
ls ~/
EOF 2&>1 test.txt
または
ssh -t my-server1.my-domain.net << EOF
./bin/myApp
echo "Hello World"
ls ~/
EOF 2&>1 | tee test.txt
リモートシステムでコマンドが実行されるのを見て、コンソールに出力し、ローカルシステムのファイルに書きたいと思います。
答え1
これは、ssh コマンドの後ろではなく、コマンドと同じ行にssh
パイプを接続することによって行うことができます。
STDOUT
パイプで接続するには、次のものをtest.txt
使用できます。
ssh -t my-server1.my-domain.net << EOF | tee test.txt
./bin/myApp
echo "Hello World"
ls ~/
EOF
にのみ出力し、 にはtest.txt
出力しない場合は、以下をSTDOUT
使用できます。
ssh -t my-server1.my-domain.net << EOF > test.txt
./bin/myApp
echo "Hello World"
ls ~/
EOF