Mam program na zdalnym hoście, którego wykonanie muszę zautomatyzować. Polecenie wykonania tego programu na tym samym komputerze wygląda mniej więcej tak:
/path/to/program -a file1.txt -b file2.txt
W tym przypadku file1.txt
i file2.txt
są używane do zupełnie różnych rzeczy w programie, więc nie mogę cat
ich po prostu razem. Jednak w moim przypadku file1.txt
i file2.txt
to, co chcę przekazać do programu, istnieje tylko na moim urządzeniu, a nie na hoście, na którym muszę uruchomić program. Wiem, że mogę przesłać co najmniej jeden plik przez SSH, przekazując go przez stdin
:
cat file1.txt | ssh host.name /path/to/program -a /dev/stdin -b file2.txt
ale ponieważ nie wolno mi przechowywać plików na hoście, potrzebuję sposobu, aby się file2.txt
tam dostać . Myślę, że może to być możliwe poprzez nadużywanie zmiennych środowiskowych oraz kreatywne wykorzystanie cat
i sed
razem, ale nie znam narzędzi wystarczająco dobrze, aby zrozumieć, w jaki sposób wykorzystam je do osiągnięcia tego celu. Czy to jest wykonalne i jak?
cat
ised
nie są tutaj rozwiązaniem.