Утилита командной строки для получения пароля, который не имеет эха назад


14

Встроенная команда чтения Bash, похоже, не поддерживает ее, теперь мне нужно разрешить пользователю вводить пароль, пока не должно отображаться эхо, какой инструмент я могу использовать?


4
help read|grep echo: « -sНе
повторяйте

1
@donothingsuccessfully Это -sрасширение неread является стандартным . Возможно, вы не сможете использовать его на любом Unix / Linux.
Тотор

Ответы:


23
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
  • stty -echo отключает эхо терминала, то есть дисплей, о котором вы говорите;
  • IFS= необходимо сохранить пробелы в пароле;
  • read -r отключает обратную косую черту

В bashтакже можно использовать read -s, но эта функция не является стандартной для всех оболочек.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.