我在远程主机上有一个程序,我需要自动执行该程序。在同一台机器上执行该程序的命令如下所示:
/path/to/program -a file1.txt -b file2.txt
Run Code Online (Sandbox Code Playgroud)
在这种情况下,file1.txt
和file2.txt
用于程序中完全不同的东西,所以我不能把cat
它们放在一起。然而,在我的情况下,file1.txt
和file2.txt
我想要传递到程序中只有我的设备上存在的,不是我需要执行该程序的主机上。我知道我可以通过以下方式通过 SSH 提供至少一个文件stdin
:
cat file1.txt | ssh host.name /path/to/program -a /dev/stdin -b file2.txt
Run Code Online (Sandbox Code Playgroud)
但是,由于我不允许在主机上存储文件,因此我也需要一种方法来将文件放在file2.txt
那里。我认为通过滥用环境变量和创造性地使用cat
和sed
一起使用可能是可能的,但我不太了解这些工具,无法理解我将如何使用它们来实现这一目标。是否可行,以及如何做?