[UNIX] [Résolu] Saisir du texte sans que cela apparaisse à l'écran

Saisir du texte sans que cela apparaisse à l'écran [UNIX] [Résolu] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 19-10-2004 à 10:49:16    

Bonjour à tous,
 
Mon problème concerne les shell batchs Unix. Plus particulièrement, je travaille sous AIX.
Je sais que la commande "read" permet de faire saisir une ligne de texte à l'utilisateur.
Mon problème est que le texte tapé apparaît à l'écran.
Y a-t-il moyen de ne pas faire apparaître ce texte de la même manière que lors de la saisie du mot de passe lors de la connexion ?
Merci pour votre aide.
Cordialement,


Message édité par lolobreizh le 19-10-2004 à 15:18:49
Reply

Marsh Posté le 19-10-2004 à 10:49:16   

Reply

Marsh Posté le 19-10-2004 à 11:33:09    

man bash -> read -s
 
EDIT : sou réserve, car les shells sur AIX sont des fois différents sur quelques options ...


Message édité par bobuse le 19-10-2004 à 11:33:47
Reply

Marsh Posté le 19-10-2004 à 12:03:33    

Le read -s sert à inclure la commande entrée dans le stdin dans l'historique des commandes (.sh_history).
Est-ce bien de ça que tu veux parler ?
Merci

Reply

Marsh Posté le 19-10-2004 à 12:11:55    

[snipped]


Message édité par bobuse le 19-10-2004 à 14:49:34
Reply

Marsh Posté le 19-10-2004 à 14:32:53    

A défaut de trouver ce que je voulais, j'ai trouvé un workaround : écrire en noir sur fond noir
Avec la commande echo, rajouter les paramètres suivants :
  - \033[30m pour la police
  - \033[40m pour le fond
Seul petit problème, si on sélectionne le texte (pour le copier), on ne voit rien mais le "coller" affiche le texte correctement !

Reply

Marsh Posté le 19-10-2004 à 14:40:23    

J'ai oublié de préciser : pour revenir en mode normal, il faut ensuite inclure la commande suivante dans le shell
  - echo "\033[0m"

Reply

Marsh Posté le 19-10-2004 à 14:49:08    

oups je me suis trompé de topic, dsl pour mon message précédent :D
je voulais dire :

read -s PLOP; echo $PLOP


[:neowen]


Message édité par bobuse le 19-10-2004 à 14:49:15
Reply

Marsh Posté le 19-10-2004 à 15:03:47    

le "read -s" ne fonctionne pas avec ksh qui est le Shell utilisé ici.
En revanche, un collègue a trouvé la solution en utilisant l'aide de stty :
 
     OLDCONFIG=`stty -g`          # save configuration
     stty -echo                   # do not display password
     echo "Enter password: \c"
     read PASSWD                  # get the password
     stty $OLDCONFIG              # restore configuration
 
Efficacité garantie !
Merci pour ton aide.

Reply

Marsh Posté le 19-10-2004 à 15:18:08    

Voire encore plus simple d'ailleurs :
     stty -echo
     echo "Enter password: \c"  
     read PASSWD
     stty echo

Reply

Marsh Posté le 19-10-2004 à 15:24:29    

si c'est du ksh aussi :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed