O problema aqui é que, no bash, o loop while
é executado em um subshell quando está no RHS de um pipe. Você poderia fazer em vez disso
H_VARIABLE=leer
while read satz
do H_VARIABLE="$H_VARIABLE $satz"
done < <(
echo "Zeile1
Zeile2"
)
usando a substituição do processo ou, usando uma string aqui
H_VARIABLE=leer
while read satz
do H_VARIABLE="$H_VARIABLE $satz"
done <<< "Zeile1
Zeile2"
Veja também script bash var não alterado após o loop