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&nbsp;não pode mais ser acessado.

Minha pergunta é:

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

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