Je souhaite récupérer la touche appuyée du clavier à la volée, sans appuyer la touche entrée et afficher uniquement la touche significative d'appuyée. Ceci dans une console SSH.
En bidouillant j'arrive à peu près à mes fins, sauf que je n'arrive pas à supprimer les "echo" dans le fichier ".sh".
Avez-vous une solution, merci.
Code : Tout sélectionner
Getch.sh ------------------------------------------------------------------------------------------------------------------
#!/bin/bash
echo -n "" # obligatoire sinon plantage. -n pas de retour à la ligne
read -s -n1 -t0.5 # -s pas d'echo -n1 un seul caractere -t attendre 0.5 seconde
echo -n ""
car="$REPLY"
echo "$car" > rep.txt # met cela dans un fichier car sait pas transferer la reponse autrement
Getch.py ------------------------------------------------------------------------------------------------------------------
#!/usr/bin/env python
# -*- coding: utf8 -*-
import os
def getch():
os.system("bash getch.sh ")
# pas trouve comment tranferer une variable autrement
fichier = open("rep.txt", "r")
rep = fichier.read()
fichier.close
touche = rep[0:1]
return touche
stop = ""
while stop <>"q":
touche = getch()
if touche == "q":
stop = "q"
else:
if touche <> "":
print (touche)