Утиліта командного рядка для отримання пароля, який не має відлуння


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.