Ввод паролей в консоли

Каждый, кто хоть раз пытался написать консольную программу, использующую аутентификацию login/password, задавался вопросом “а как бы пароль спрятать”? Я, к примеру, в зависимости от ситуации, либо использовал для этого zenity, либо отслеживал каждое нажатие и затирал символ (кроме Enter)… Неудобно.  Случайно узнал ещё один, гораздо более удобный, способ:

helios@h15:~$ perl
print "Login: ";
$login = <>;
chomp $login;
print "Password: ";
`stty -echo`; # отключаем отображение в консоли набираемых символов
$pass = <>;
chomp $pass;
`stty echo`; # включаем отображение в консоли набираемых символов
print "Login=$login;Password=$pass";
Login: helios
Password: Login=helios;Password=my secret wordhelios@h15:~$
Поделиться заметкой: