通过ssh运行多个命令并将输出存储在不同的文件中

use*_*163 2 unix ssh bash command

我已经设置了我的公钥和私钥,并具有自动ssh登录功能.我想在一个登录会话中执行两个命令,例如command1和command2,并将它们存储在本地计算机上的文件command1.txt和command2.txt中.

我正在使用此代码

ssh -i my_key user@ip 'command1 command2' 并且这两个命令在一次登录中执行但我不知道如何将它们存储在2个不同的文件中.

我想这样做,因为我不想反复ssh到我的远程主机.

lan*_*nzz 5

除非你能解析两个命令的实际输出并区分哪个是哪个,否则你不能.您将需要两个单独的ssh会话:

ssh -i my_key user@ip command1 > command1.txt
ssh -i my_key user@ip command2 > command2.txt
Run Code Online (Sandbox Code Playgroud)

您还可以将输出重定向到远程计算机上的文件,然后将它们复制到本地计算机:

ssh -i my_key user@ip 'command1 > command1.txt; command2 > command2.txt'
scp -i my_key user@ip:'command*.txt' .
Run Code Online (Sandbox Code Playgroud)