Eu tenho um programa em um host remoto, cuja execução eu preciso automatizar. O comando execute esse programa, na mesma máquina, se parece com isso:
/path/to/program -a file1.txt -b file2.txt
Nesse caso, file1.txt
e file2.txt
são usados para coisas completamente diferentes dentro do programa, então não posso apenas cat
juntá-las. No entanto, no meu caso, o file1.txt
e file2.txt
que eu quero passar para o programa existem apenas no meu dispositivo, não no host em que preciso executar o programa. Eu sei que posso alimentar pelo menos um arquivo através do SSH passando-o stdin
:
cat file1.txt | ssh host.name /path/to/program -a /dev/stdin -b file2.txt
mas, como não tenho permissão para armazenar arquivos no host, também preciso de uma maneira de passar file2.txt
por lá. Estou achando que isso pode ser possível através do abuso de variáveis de ambiente e do uso criativo de cat
e sed
juntos, mas não conheço as ferramentas o suficiente para entender como as usaria para fazer isso. É factível e como?
cat
esed
não é a solução aqui.