ฉันมีโปรแกรมบนรีโมตโฮสต์ซึ่งมีการดำเนินการที่ฉันต้องทำให้เป็นอัตโนมัติ คำสั่งรันโปรแกรมนั้นบนเครื่องเดียวกันจะมีลักษณะดังนี้:
/path/to/program -a file1.txt -b file2.txt
ในกรณีนี้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
แต่เนื่องจากฉันไม่ได้รับอนุญาตให้จัดเก็บไฟล์บนโฮสต์ฉันจึงต้องหาวิธีที่จะไปที่file2.txt
นั่นเช่นกัน ฉันคิดว่ามันอาจจะเป็นไปได้ผ่านการละเมิดของตัวแปรสภาพแวดล้อมและการใช้ความคิดสร้างสรรค์ของcat
และsed
กัน แต่ผมไม่ทราบว่าเครื่องมือที่ดีพอที่จะเข้าใจว่าฉันจะใช้พวกเขาเพื่อให้บรรลุนี้ เป็นไปได้หรือไม่และเป็นอย่างไร
cat
และsed
ไม่ใช่ทางออกที่นี่