我有一个用C/C++编写的程序,它读取两个文件,然后生成一些报告.典型的工作流程如下:
1> scp user@server01:/temp/file1.txt ~/ then input my password for the prompty 2> my_program file1.txt localfile.txt
有没有办法让我的程序直接处理远程文件而不先将文件显式复制到本地?我尝试了以下命令,但它对我不起作用.
> my_program <(ssh user@server01:/temp/file1.txt) localfile.txt
解决方法
您需要使用ssh user @ host“cat /temp/file.txt”.
您可以使用它将它重定向到程序的stdin:ssh user @ host“cat /temp/file.txt”| my_program或者您可以使用fork / exec在程序中实际调用它.或者像你描述的那样生成一个临时文件:my_program<(ssh user @ host“cat /temp/file.txt”) 其他选项是在程序中使用带有fuse的sshfs或使用ssh(或VFS)库.