Bash declarativamente definiendo una lista para hacer un bucle en

En bash frecuentemente hago scripts donde hago un bucle sobre una lista de cadenas que defino.

p.ej.

for a in 1 2 3 4; do echo $a; done

Sin embargo, me gustaría definir la lista (antes del bucle para mantenerla limpia) para que contenga espacios y sin un archivo separado:

p.ej. (PERO ESTO NO FUNCIONARÁ)

read -r VAR <<HERE
list item 1
list item 2
list item 3
...
HERE

for a in $VAR; do echo $a; done

La salida esperada arriba (me gustaría):

list item 1
list item 2
list item 3
etc...

Pero obtendrá:

list
item
1

Podría usar matrices pero tendría que indexar cada elemento de la matriz (EDITAR lea las respuestas a continuación, ya que puede adjuntar a matrices. No sabía que pudiera).

¿Cómo definen otros declarativamente las listas en bash sin usar archivos separados?

Lo siento, olvidé mencionar que quiero definir la lista en elparte superior del archivo antes de la lógica de bucle for

Respuestas a la pregunta(5)

Su respuesta a la pregunta