Cómo hacer un bucle while con una cadena redirigida a ella

Estoy tratando de recorrer una cadena con enlaces HTTP dentro y líneas nuevas, quiero recorrer una línea a la vez.

Por el momento tengo

echo -e "$HTTP_LINKS" | while read HTTP_S_LINK ; do
    TEST_STRING="test"
done

Pero de esta manera no tengo acceso a TEST_STRING fuera del ciclo, que es lo que quiero. Estoy usando el ciclo while para que se repita a través de cada línea nueva en $ HTTP_LINKS y no solo las palabras en la cadena. (No quiero usar un bucle for con IFS configurado en \ n)

Pensé que tal vez podría hacer algo como esto

#!/bin/bash
while read HTTP_S_LINKS
do   
    TEST_STRING="test2"
done < $HTTP_LINKS

Pero, por supuesto, esto no funciona ya que $ HTTP_LINKS contiene una cadena y no un enlace a un archivo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta