Você está esperando:
CONFIG_RESULT=$(configuer)
Para atribuir um valor a $RECYCLEBIN porque você ...
RECYCLEBIN="$value"
... na função configuer() . É verdade que a função atribui um valor a $RECYCLEBIN , mas esse valor só persiste durante a duração do $( subshell ) em que você o definiu. Ele não aplicará quaisquer alterações no ambiente do shell pai - que é onde você o chama. Quando você:
eval echo "Recyclebin: ${RECYCLEBIN}"
eval analisa todos os seus argumentos em uma string separada por espaço e tenta executar os resultados como um comando shell. Portanto, "${RECYCLEBIN}" desaparece porque - no ambiente atual do shell - foi definido pela última vez para a string '' null como:
RECYCLEBIN=
Assim, na execução da declaração, tudo o que faz é:
echo Recyclebin:
Que não é funcionalmente diferente de ...
echo "Recyclebin: ${RECYCLEBIN}"
... de qualquer forma porque $RECYCLEBIN está vazio.