O comando Bash builtin read não parece suportá-lo, agora eu preciso permitir que o usuário insira uma senha enquanto nenhum eco deve ser exibido. Que ferramenta posso usar?
O comando Bash builtin read não parece suportá-lo, agora eu preciso permitir que o usuário insira uma senha enquanto nenhum eco deve ser exibido. Que ferramenta posso usar?
Respostas:
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
stty -echo desativa o eco do terminal, que é o monitor que você está falando;IFS= é necessário preservar espaços em branco na senha;read -r desativa a interpretação da barra invertida.Em bashvocê também pode usar read -s, mas este recurso não é padrão em conchas.
help read|grep echo: "-snão faça eco da entrada proveniente de um terminal"