su - aba
é curto para
su --login ada
que não faz sentido dentro de um script. Como você não tem um terminal quando é executado, ele volta ao usuário anterior (root).
tente
su -c "echo $JAVA_HOME" ada
mas mesmo isso não vai rodar os usuários .profile ou .bashrc.
No entanto, você é root e deve poder analisar esses arquivos para as configurações adequadas.
por exemplo,
TEMP_JAVA=$(grep JAVA_HOME /home/$USER/.bashrc)
JAVA_HOME=${TEMP_JAVA##*=}
echo $JAVA_HOME