ฉันใช้ Ubuntu Linux myprogramสมมติว่ามีโปรแกรมที่เรียกว่า โปรแกรมนี้ให้ผู้ใช้ป้อนข้อมูล Enterโดยเฉพาะผู้ใช้ต้องพิมพ์เป็นจำนวนเต็มเมื่อได้รับแจ้งและกด ฉันต้องการทำให้กระบวนการนี้เป็นแบบอัตโนมัติโดยใช้สคริปต์ทุบตี โดยเฉพาะอย่างยิ่งฉันต้องการที่จะดำเนินการmyprogramพูด 100 ครั้ง (ใช้เคาน์เตอร์iที่ไปจาก1ไป100) ในการดำเนินการแต่ละครั้งmyprogramฉันต้องการป้อนค่าปัจจุบันของiเมื่อได้รับแจ้ง
(โดยวิธีการmyprogramใช้ตัวเลือก / สวิทช์-optionsซึ่งทั้งหมดจะคงที่และระบุไว้ในสคริปต์ทุบตี)
โครงกระดูกที่ไม่สมบูรณ์ของสคริปต์ทุบตีนี้อาจเป็น:
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
ตอนนี้ฉันต้องการแก้ไขโค้ดด้านบนเพื่อให้iป้อนค่าปัจจุบันของเมื่อได้รับแจ้งจากโปรแกรม วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?
เว็บไซต์ของซอฟต์แวร์ที่ฉันใช้แนะนำให้ใช้<<EOFที่ท้ายmyprogram -optionsบรรทัด ฉันคิดว่าสิ่งนี้บอกให้ทุบตีดูที่ "จุดสิ้นสุดของไฟล์" สำหรับอินพุตที่จะใช้ แต่ถ้าฉันไม่ต้องการวางอินพุตที่ท้ายไฟล์ล่ะ เกิดอะไรขึ้นถ้าผมอยากจะใส่มันทันทีหลังจากที่<<หรือ<?
เหตุผลก็คือสิ่งต่าง ๆ จะมีความซับซ้อนมากขึ้น ตัวอย่างเช่นฉันอาจแนะนำตัวนับจำนวนเต็มที่jเปลี่ยนแปลงในวิธีที่ไม่เป็นเชิงเส้นหรือไม่ต่อเนื่อง จากนั้นผมก็อยากจะกินค่าปัจจุบันของjไปmyprogramในแต่ละซ้ำ แต่ค่าของjอาจมีการเปลี่ยนแปลงระหว่างการโทรไปและจุดสิ้นสุดของแฟ้ม myprogram -optionsEOF
คุณมีข้อเสนอแนะใด?