Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1542 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Récupérer un caractère au clavier sans utiliser la touche entrée ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer un caractère au clavier sans utiliser la touche entrée ?

n°1348283
nba_pit
Posté le 21-11-2013 à 17:54:18  profilanswer
 

Bonjour,
 
Je souhaite créer un script bash et récupérer un chiffre au clavier sans utiliser la touche entrée.
Un équivalent de "read variable" mais sans avoir besoin de taper entrée pour passer à la ligne suivante du script.
 
Par exemple si j'appui sur la touche "4" je lance une action sans attendre de valider par la touche entrée.
 
J'ai fais des recherches sur le net mais je n'ai rien trouvé.  
Savez-vous comment faire ?  
 
Merci.

mood
Publicité
Posté le 21-11-2013 à 17:54:18  profilanswer
 

n°1348288
Fork Bomb
Obsédé textuel
Posté le 21-11-2013 à 19:35:03  profilanswer
 

xev sait faire ça. Faudrait voir comment il fonctionne en interne.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1348299
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 22-11-2013 à 08:17:19  profilanswer
 

google sur "getchar in shell", il y a différentes possibilités.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1348318
zipe31
Posté le 22-11-2013 à 11:32:54  profilanswer
 

Salut,
 

Code :
  1. read -n1 reponse


 
Extrait du man bash :

             -n nb_car
                     read  s'arrête  après avoir lu nb_car caractères plutôt que d'attendre  
                     une ligne complète en entrée, mais un délimiteur  est  respecté  si  
                     moins  de nb_car caractères ont été lus avant le délimiteur.


---------------
$ man woman
n°1348324
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 22-11-2013 à 13:06:08  profilanswer
 

zipe31 a écrit :

Salut,
 

Code :
  1. read -n1 reponse


 
Extrait du man bash :

             -n nb_car
                     read  s'arrête  après avoir lu nb_car caractères plutôt que d'attendre  
                     une ligne complète en entrée, mais un délimiteur  est  respecté  si  
                     moins  de nb_car caractères ont été lus avant le délimiteur.



 
faut toujours faire entrée, ce qu'il ne veut pas :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1348351
zipe31
Posté le 22-11-2013 à 14:58:22  profilanswer
 

black_lord a écrit :

faut toujours faire entrée, ce qu'il ne veut pas :o


 
Non, le -n 1 est là pour ça, dès le 1er caractère entré, il est validé et on passe à la suite. Si on avait mis -n 3, la validation se fait dès le 3e caractère entré  ;)  


---------------
$ man woman
n°1348389
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 24-11-2013 à 14:48:53  profilanswer
 

zipe31 a écrit :


 
Non, le -n 1 est là pour ça, dès le 1er caractère entré, il est validé et on passe à la suite. Si on avait mis -n 3, la validation se fait dès le 3e caractère entré  ;)  


 
bashisme :o
 
read -k avec zsh. fonctionnalité non portable = mal :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1348390
zipe31
Posté le 24-11-2013 à 16:13:24  profilanswer
 

nba_pit a écrit :

Bonjour,
Je souhaite créer un script bash et récupérer un chiffre au clavier sans utiliser la touche entrée.
Un équivalent de "read variable" mais sans avoir besoin de taper entrée pour passer à la ligne suivante du script.


 

black_lord a écrit :

bashisme :o
read -k avec zsh. fonctionnalité non portable = mal :o


 
Je réponds juste à la question  :)  
 


---------------
$ man woman
n°1348643
nba_pit
Posté le 28-11-2013 à 21:15:50  profilanswer
 

Merci pour vos réponse !
 
J'ai essayé read -n1, ca fonctionne très bien lorsque je l'utilise dans un simple script bash (read + echo).
Par contre dès que je lance ce script au démarrage de linux (dans le init.d) j'ai ce message d'erreur :  

Code :
  1. 12 : read : Illegal option -n


 
Je ne comprends pas, je pensai qu'un script qui marche seul marcherait aussi dans un script de démarrage.
 
Si vous pouvez m'aider ...
Merci

n°1348644
nba_pit
Posté le 28-11-2013 à 21:24:15  profilanswer
 

Ne m'aidez plus !
 
J'ai trouvé, j'avais oublié de marquer :

Code :
  1. #!/bin/bash

au début de mon script.
Désormais ca fonctionne.


Message édité par nba_pit le 28-11-2013 à 21:28:26

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Récupérer un caractère au clavier sans utiliser la touche entrée ?

 

Sujets relatifs
[RESOLU] Ajout de caractère lors d'utilisation de redirecteurs[shell] script sauvegarde recuperer nom hote windows
perl : supprimer dernier caractère de ARGV[0] si /clavier filaire = azerty et clavier sans fil = qwerty ?
[résolu] Fichiers à récupérer avant formatageCode touche clavier
Impossible de récupérer le résultat d'une commande scpEnvironnement virtualisé pour utiliser DM-Multipath (SAN iScsi)
Utiliser un DAT avec Mandriva 
Plus de sujets relatifs à : Récupérer un caractère au clavier sans utiliser la touche entrée ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR