ฉันใช้ 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 -options
EOF
คุณมีข้อเสนอแนะใด?