Tudo bem, parece que resolvi meu próprio problema:
function getParameter {
if [ -z "$3" ]; then
# User read -p to show a prompt rather than using echo for this
read -p "$2'echo $'\n> ''" parameter
# Print to sdterr and return 1 to indicate failure
if [ -z "$parameter" ]; then
>&2 echo "Parameter $1 not found"
return 1
else
echo $parameter
fi
else
echo $3
fi
}
Usando echo -p
, consegui mostrar um prompt no console e ainda ser capaz de retornar uma string da função usando echo
regular. Dessa forma, chamando a função com database_username=$(getParameter ...)
eu posso atribuí-la a uma variável.