Normalmente cuando hacemos un bucle en shell scripting usamos un bloque for/do/done, pero el inconveniente que esto tienes es que for solo coge palabras y no lineas… es decir, si hacemos un listado de un directorio para aplicar una acción, si los archivos tienen algun espacio en blanco, for no es capaz de coger la linea entera sino que procesa la acción sobre cada una de las ‘palabras’.

La solución pasa por hacer un exec y a continuación un while read line:

exec < currentDefectsLog
while read line
do
echo $line
done