Вот рефакторинг, который удаляет повторяющийся код и делает ваш скрипт совместимым с sh
в качестве приятного бонуса.
#!/bin/sh
while read num seed; do
sed "s/seed=0/seed=$seed/" input >"input$num"
./compiled_code <"input$num" > "output$num"
rm "input$num"
done <<____HERE
1 100
2 200
3 300
: etc
____HERE
Если, как это кажется, ваши начальные значения полностью предсказуемы, sh
-совместимая замена для цикла for
заключается в использовании внешней утилиты, такой как seq
(хотя это и не только POSIX).
for num in $(seq 1 20); do
sed "s/seed=0/seed=${num}00/" input >"input$num"
./compiled_code <"input$num" > "output$num"
rm "input$num"
done