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 bash
você também pode usar read -s
, mas este recurso não é padrão em conchas.
help read|grep echo
: "-s
não faça eco da entrada proveniente de um terminal"