La commande de lecture intégrée Bash ne semble pas la prendre en charge, maintenant je dois laisser l'utilisateur saisir un mot de passe alors qu'aucun écho ne doit être affiché, quel outil puis-je utiliser ?
Réponse acceptée :
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
stty -echo
désactive l'écho du terminal, qui est l'affichage dont vous parlez ;IFS=
est nécessaire pour préserver les espaces dans le mot de passe ;read -r
désactive l'interprétation de la barre oblique inverse.
Dans bash
vous pouvez également utiliser read -s
, mais cette fonctionnalité n'est pas standard sur tous les shells.