Eu sempre gosto de usar caracteres de escape Ansi:
echo -e "Enter your password: \x1B[8m"
echo -e "\x1B[0m"
8mtorna o texto invisível e 0mredefine o texto para "normal". O -e torna possível a fuga de Ansi.
A única ressalva é que você ainda pode copiar e colar o texto existente, portanto, provavelmente não deve usá-lo se realmente deseja segurança.
Ele apenas permite que as pessoas não vejam suas senhas quando você as digita. Apenas não deixe o computador ligado posteriormente. :)
NOTA:
O acima é independente da plataforma, desde que ele suporte sequências de escape do Ansi.
No entanto, para outra solução Unix, você pode simplesmente dizer readpara não ecoar os caracteres ...
printf "password: "
let pass $(read -s)
printf "\nhey everyone, the password the user just entered is $pass\n"