Siempre me gusta usar caracteres de escape Ansi:
echo -e "Enter your password: \x1B[8m"
echo -e "\x1B[0m"
8m
hace que el texto sea invisible y 0m
restablece el texto a "normal". La -e hace posible que Ansi se escape.
La única advertencia es que aún puede copiar y pegar el texto que está allí, por lo que probablemente no debería usar esto si realmente desea seguridad.
Simplemente permite que las personas no miren sus contraseñas cuando las escribe. Simplemente no deje su computadora encendida después. :)
NOTA:
Lo anterior es independiente de la plataforma siempre que sea compatible con las secuencias de escape de Ansi.
Sin embargo, para otra solución Unix, simplemente podría decirle read
que no haga eco de los caracteres ...
printf "password: "
let pass $(read -s)
printf "\nhey everyone, the password the user just entered is $pass\n"