Мне всегда нравятся экранирующие символы 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"