Forum Clubic

Equivalent de getch en bash - ou l'art de ne lire qu'un caractere

Quel peut être en bash l’équivalent de getch()??? (si possible, sans avoir à appuyer sur entree à la fin)

Le script par definition n’est pas un langage de prog donc, sauf erreur de ma part, je ne pense pas qu’il soit possible de lire un caractère donné par l’utilisateur. La seule “interactivité” qu’il doit y avoir, c’est le passage d’argument.
Enfin je n’ai pas poussé très loin le langage de script donc je me trompe peut-etre.

C’est pas tout-à-fait ce que tu veux.
Ici, on saisi plusieurs caractères et entrée. Un scanf quoi.

ah merci je ne connaissais pas :jap: (j’avais pas cherché non plus)

rouch, RFTM avant de poser des QALC…

e.nounours… c’était aussi ce qu’il me semblait, je ne sache pas qu’il existe une telle fonction… j’ai peut-être été trop exigent peut-être. Merci! :clap: et à part l’implementer en C, je ne vois pas trop comment faire… :??:
Faut pas s’énerver Dumbledore! :bounce: :na: allez fait une rizette à notre ami rouch! :miam:
PS: QALC = Question… à la ??? c’est ça? :ane:

  1. Si QALC veut dire question a la con, alors il va falloir me dire quelle question ai-je posée ?
  2. J’ai précisé que je pouvais me tromper donc si la seule precision que tu puisse apporter est cette reflexion, alors bravo, t’es vraiment le meilleur :jap:

En C, y’a getline() non ?

edit : J’ai rien dit, j’avais rien capté à la question… So sorry !

Salut z’@ toutes z’et tous,

Tiens j’ai trouvé ça : http://www.cppfrance.com/code.aspx?ID=10611
si ça peut vous servir ;-))

Merci Jipicy, et e.nounours… je vais regarder ça!

“Je suis sûr que beaucoup se sont pris la tête à chercher l’équivalent des fonctions getch() et kbhit() de windows sous Linux. Ne cherchez plus!!! Elles n’existent pas malheuresement.”

Bien sûr que si :

SIS
#include <curses.h>

   int getch(void);
   int wgetch(WINDOW *win);
   int mvgetch(int y, int x);
   int mvwgetch(WINDOW *win, int y, int x);
   int ungetch(int ch);
   int has_key(int ch);

man getch

mais c’est du C et pas du bash bien sûr…

En python ça peut donner ça :
http://aspn.activestate.com/ASPN/Cookbook/…n/Recipe/134892
C’est assez moche.
On peut aussi faire un simple
import curses
http://www.amk.ca/python/howto/curses/curs…000000000000000
mais il ça fait dépendre le script de curses… (on aurait pas cru.)

Comme complément, je peux vous donner ça que j’ai trouvé suite à l’aide de l’ami Fak’bill!
http://www.opengroup.org/onlinepubs/007908…s/curses.h.html
Merci Fak’!!!

De rien vieux :wink:
Merci pour tous les détails.

Un exemple d’utilisation de ncurses : Le make menuconfig du noyau (donc vous savez où trouver les sources et ça ne devrait pas être trop mal codé ;))