'"Declare" loop creates output for only one of the variables

I have written a script to create a loop for a software I'm running:

#!/bin/bash

declare -a pops=("pop1" "pop2" "pop3")

for target in "${pops[@]}";
do
while IFS= read target
do
    parFile=./input/paramfile.1b.$target.txt
    sed "s/PROPIND/0/g; s/BOOTSTRAP/1/g; s/NULLIND/1/g; s/OUTPUT/globetrotter.1/g; s/TARGET/$target/g" ./input/paramfile.txt > $parFile
name=globetrotter.1b.$target
R < myscript.R ./input/paramfile.1a.$target.txt ./input/samplefile.txt ./input/recomfile.txt 1 --save > ./output/log.$name
    break
done
done

The program runs just for the first population and then it stops. For this reason I believe the loop is not written correctly. Is the break in the wrong spot?

Thank you.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source