Я всегда люблю использовать 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"