Tôi đang chạy Ubuntu Linux. Giả sử có một chương trình được gọi là myprogram. Chương trình này nhắc người dùng nhập liệu; cụ thể, người dùng phải nhập một số nguyên khi được nhắc và nhấn Enter. Tôi muốn tự động hóa quá trình này bằng cách sử dụng tập lệnh bash. Cụ thể, tôi muốn thực hiện myprogram, giả sử, 100 lần (sử dụng bộ đếm iđi từ 1đến 100). Trên mỗi lần thực hiện myprogram, tôi muốn nhập giá trị hiện tại ikhi được nhắc.  
(Nhân tiện, myprogramcó các tùy chọn / công tắc -options, tất cả chúng sẽ không đổi và do đó được chỉ định trong tập lệnh bash.)
Một bộ xương không hoàn chỉnh của tập lệnh bash này có thể là:
#!/bin/bash
for i in {1..100}
do
   myprogram -options
done
Bây giờ tôi muốn sửa đổi mã trên để giá trị hiện tại iđược nhập khi được chương trình nhắc. Cách tốt nhất để làm việc này là gì?
Trang web của phần mềm tôi đang sử dụng gợi ý sử dụng <<EOFở cuối myprogram -optionsdòng. Tôi nghĩ rằng điều này cho bash xem xét "phần cuối của tệp" để sử dụng đầu vào. Nhưng nếu tôi không muốn đặt đầu vào ở cuối tập tin thì sao? Điều gì sẽ xảy ra nếu tôi muốn đặt nó ngay sau khi <<hoặc <?  
Lý do là mọi thứ sẽ trở nên phức tạp hơn. Ví dụ, tôi có thể giới thiệu một bộ đếm số nguyên jthay đổi theo một số cách phi tuyến tính, không tuần tự. Sau đó tôi muốn để nuôi giá trị hiện tại của jđể myprogramtrên mỗi lần lặp, nhưng giá trị của jthể thay đổi giữa các cuộc gọi đến myprogram -optionsvà kết thúc của tập tin EOF.  
Bạn có đề nghị nào không?