问题是:我想从远程计算机复制文件.
我正在寻找一种方法来编写一个连接到远程机器的shell脚本,获取存储文件的位置,一旦我从远程服务器断开位置并使用获取位置的本地机器中的scp复制文件.
具体来说,我想知道如何从脚本,我将连接到远程机器,在该机器上执行任务.断开连接,并在本地继续执行.
解决方案1:
remote_output="$(ssh user@host "remote command")" scp "user@$host:$remote_output" /local/path
这可以通过连接到远程计算机,运行一些命令,以及将输出复制到本地计算机上的变量来实现.比如说,远程回显文件路径,在本地捕获它.
解决方案2:
ssh user@host "determine_path; cat filename" >local_filename
这可以通过直接从远程查找和输出文件,并在本地将其重定向到文件来实现.这会跳过scp.这要求“cat”之前的步骤没有输出(您可以使用&> / dev / null来解决).