Ao "digitar senhas", você provavelmente insere dados sem estar visível para o usuário.
(sugerido por geirha) Ao usar o bash, você pode usar a opção -s
para evitar que caracteres digitados sejam exibidos:
read -p "Password please: " -s pass
Como alternativa, altere o comportamento do terminal para ocultar os caracteres digitados com stty -echo
(desativar echo
). Depois de ler a senha com o shell integrado read
em uma variável (no exemplo abaixo, $pass
), ative-a novamente com stty echo
. Como a nova linha de Enter está oculta, você deve imprimir uma nova linha para obter uma saída futura em uma nova linha.
stty -echo
read -p "Password please: " pass
stty echo
printf '\n'
read
e printf
são internos do shell. stty
é fornecido pelo pacote coreutils
, que é instalado por padrão. Isso significa que esse trecho é muito portável.
Observação: a opção -p
não é padrão, mas de bash
. Se você precisar exibir um prompt em outros shells, use:
printf "Password please: "
stty -echo
read pass
stty echo
printf '\n'
Referências:
- Página de manual de
stty
- Página de manual de
bash