Я всегда люблю использовать escape-символы Ansi:
echo -e "Enter your password: \x1B[8m"
echo -e "\x1B[0m"
8mделает текст невидимым и 0mсбрасывает текст на «нормальный». -E делает возможным побег Анси.
Единственное предостережение: вы все еще можете копировать и вставлять текст, который там есть, поэтому вам, вероятно, не стоит использовать это, если вам действительно нужна безопасность.
Это просто позволяет людям не смотреть на ваши пароли, когда вы их вводите. Просто не оставляйте компьютер включенным после этого. :)
НОТА:
Вышеупомянутое не зависит от платформы, если оно поддерживает escape-последовательности Ansi.
Однако для другого решения Unix вы можете просто сказать, readчтобы символы не отображались ...
printf "password: "
let pass $(read -s)
printf "\nhey everyone, the password the user just entered is $pass\n"