J'ai un programme sur un hôte distant, dont j'ai besoin d'automatiser l'exécution. La commande exécute ce programme, sur la même machine, ressemble à ceci:
/path/to/program -a file1.txt -b file2.txt
Dans ce cas, file1.txt
et file2.txt
sont utilisés pour des choses entièrement différentes dans le programme, donc je ne peux pas simplement cat
les faire ensemble. Cependant, dans mon cas, le file1.txt
et file2.txt
que je souhaite transmettre au programme n'existent que sur mon appareil, pas sur l'hôte où j'ai besoin d'exécuter le programme. Je sais que je peux alimenter au moins un fichier via SSH en le passant par stdin
:
cat file1.txt | ssh host.name /path/to/program -a /dev/stdin -b file2.txt
mais, comme je ne suis pas autorisé à stocker des fichiers sur l'hôte, j'ai également besoin d'un moyen d'y accéder file2.txt
. Je pense que cela pourrait être possible grâce à l'abus des variables d'environnement et à l'utilisation créative de cat
et sed
ensemble, mais je ne connais pas suffisamment les outils pour comprendre comment je les utiliserais pour y parvenir. Est-ce faisable et comment?
cat
etsed
ne sont pas la solution ici.