Narzędzie wiersza polecenia do pobierania hasła, które nie ma echa zwrotnego


14

Wydaje się, że wbudowane polecenie odczytu Bash go nie obsługuje, teraz muszę pozwolić użytkownikowi na wprowadzenie hasła, a echo nie powinno być wyświetlane, jakiego narzędzia mogę użyć?


4
help read|grep echo: „ -snie
odbijaj

1
@donothingsuccessfully To -srozszerzenie nieread jest standardowe . Możesz nie być w stanie używać go w żadnym systemie Unix / Linux.
Totor

Odpowiedzi:


23
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
  • stty -echo wyłącza echo terminala, czyli wyświetlacza, o którym mówisz;
  • IFS= jest konieczne do zachowania białych znaków w haśle;
  • read -r wyłącza interpretację odwrotnego ukośnika.

W bashmożna również użyć read -s, ale ta funkcja nie jest standardowa w powłokach.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.