Como canalizar a entrada para um Bash while loop e preservar as variáveis ​​após o final do loop

Bash permite usar:cat <(echo "$FILECONTENT")

Bash também permite usar:while read i; do echo $i; done </etc/passwd

para combinar os dois anteriores isso pode ser usado:echo $FILECONTENT | while read i; do echo $i; done

O problema com o último é que ele cria sub-shell e após o loop while termina a variáveli não pode mais ser acessado.

Minha pergunta é:

Como conseguir algo assim:while read i; do echo $i; done <(echo "$FILECONTENT") ou em outras palavras: como posso ter certeza de quei sobrevive enquanto loop?

Por favor, note que estou ciente de encerrar enquanto declaração em{} mas isso não resolve o problema (imagine que você quer usar o loop while na função e retornari variável)

questionAnswers(2)

yourAnswerToTheQuestion