Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

read d'un caract

8 réponses
Avatar
moi-meme
sur un script bash je voudrais faire la lecture d'un caractère seulement.

La fonction read existe bien mais il faut finir par un CR.
Rien qui ne me convient dans le options.

avec Gxxx : je ne sais pas comment formuler la question.

La solution doit être triviale (et doit exister), je ne vais quand même
pas faire un programme en C pour ça !

Surtout que cela doit exister, je ne suis quand même pas le premier ...

Merci pour vos réponses

C Hiebel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4d0a5d11$0$7316$426a74cc@news.free.fr

8 réponses

Avatar
Le Bris Pascal
Le 16/12/2010 19:40, moi-meme a écrit :
sur un script bash je voudrais faire la lecture d'un caractère seulement.

La fonction read existe bien mais il faut finir par un CR.
Rien qui ne me convient dans le options.

avec Gxxx : je ne sais pas comment formuler la question.

La solution doit être triviale (et doit exister), je ne vais quand même
pas faire un programme en C pour ça !

Surtout que cela doit exister, je ne suis quand même pas le premier ...

Merci pour vos réponses

C Hiebel



Bonsoir

Je vous propose

export SEC
export keypress=O
read -t $SEC -s -n1 -p "Taper la lettre de votre choix ou attendre $SEC
sec. [$keypress]" keypress
echo $keypress

A+


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Pierre Meurisse
Bonjour,

On Thu, Dec 16, 2010 at 06:40:17PM +0000, moi-meme wrote:

sur un script bash je voudrais faire la lecture d'un caractère seulement.

La fonction read existe bien mais il faut finir par un CR.
Rien qui ne me convient dans le options.

avec Gxxx : je ne sais pas comment formuler la question.

La solution doit être triviale (et doit exister), je ne vais quand même
pas faire un programme en C pour ça !

Surtout que cela doit exister, je ne suis quand même pas le premier ...

Merci pour vos réponses



dans mes scripts, j'utilise read -k, mais je ne sais plus où j'ai trouvé
l'info.

A+

--
Pierre Meurisse

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
moi-meme
Le Thu, 16 Dec 2010 20:30:02 +0100, Le Bris Pascal a écrit :

Le 16/12/2010 19:40, moi-meme a écrit :
sur un script bash je voudrais faire la lecture d'un caractère
seulement.

La fonction read existe bien mais il faut finir par un CR. Rien qui ne
me convient dans le options.

avec Gxxx : je ne sais pas comment formuler la question.

La solution doit être triviale (et doit exister), je ne vais quand même
pas faire un programme en C pour ça !

Surtout que cela doit exister, je ne suis quand même pas le premier ...

Merci pour vos réponses

C Hiebel



Bonsoir

Je vous propose

export SEC
export keypress=O
read -t $SEC -s -n1 -p "Taper la lettre de votre choix ou attendre $SEC
sec. [$keypress]" keypress
echo $keypress

A+



ça marche c'est pas trivial.
j'examine les options de read.

ça m'étonne qu'il n'y ait pas un truc plus simple

Merci beaucoup
CH

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4d0a6c2a$0$27020$
Avatar
Jean-Jacques Doti
Le 16/12/2010 20:45, Pierre Meurisse a écrit :
Bonjour,

On Thu, Dec 16, 2010 at 06:40:17PM +0000, moi-meme wrote:
sur un script bash je voudrais faire la lecture d'un caractère seulement.

La fonction read existe bien mais il faut finir par un CR.
Rien qui ne me convient dans le options.

avec Gxxx : je ne sais pas comment formuler la question.

La solution doit être triviale (et doit exister), je ne vais quand même
pas faire un programme en C pour ça !

Surtout que cela doit exister, je ne suis quand même pas le premier ...

Merci pour vos réponses



dans mes scripts, j'utilise read -k, mais je ne sais plus où j'ai trouvé
l'info.

A+



Je n'ai pas l'impression que l'option -k soit reconnue sous bash.
read est un builtin du shell : ses options peuvent donc varier en
fonction du schell utilisé.

Sous bash, on obtient l'aide avec "help read" -> le comportement désiré
est obtenu avec :
$ read -s -N1 reponse

A+
Jean-Jacques

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
moi-meme
Le Thu, 16 Dec 2010 23:40:02 +0100, Jean-Jacques Doti a écrit :

Sous bash, on obtient l'aide avec "help read" -> le comportement désiré
est obtenu avec :
$ read -s -N1 reponse



pas tout à fait d'accord :

$ read -s -n1 reponse

cela fontionne.

Merci en plus pour le "help read" : je ne connaissais pas

C H

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4d0b30cb$0$24516$
Avatar
Jean-Jacques Doti
On 17 Dec 2010 09:43:39 GMT, moi-meme wrote:
Le Thu, 16 Dec 2010 23:40:02 +0100, Jean-Jacques Doti a écrit :

Sous bash, on obtient l'aide avec "help read" -> le comportement désiré
est obtenu avec :
$ read -s -N1 reponse



pas tout à fait d'accord :

$ read -s -n1 reponse

cela fontionne.

Merci en plus pour le "help read" : je ne connaissais pas



Avec ma version de bash (4.1.5), les options -n1 et -N1 fonctionnent
toutes les deux, parce qu'on ne lit que 1 caractères.
Si on veut lire un nombre supérieur de caractères, il y a alors bien une
différence :
- -n10 va lire au maximum 10 caractères (soit 10 caractères tapés au
clavier, soit jusqu'à la validation avec la touche Entrée) ;
- -N10 va lire exactement 10 caractères (quand je teste, l'appui éventuel
de la touche Entrée est remplacé par une espace dans la variable).

A+
Jean-Jacques

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Pierre Meurisse
On Thu, Dec 16, 2010 at 11:12:07PM +0100, Jean-Jacques Doti wrote:
..
Je n'ai pas l'impression que l'option -k soit reconnue sous bash.
read est un builtin du shell : ses options peuvent donc varier en
fonction du schell utilisé.



en effet ; j'utilise zsh.

--
Pierre Meurisse

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
moi-meme
Le Fri, 17 Dec 2010 12:00:02 +0100, Jean-Jacques Doti a écrit :

Avec ma version de bash (4.1.5), les options -n1 et -N1 fonctionnent
toutes les deux, parce qu'on ne lit que 1 caractères. Si on veut lire un
nombre supérieur de caractères, il y a alors bien une différence :
- -n10 va lire au maximum 10 caractères (soit 10 caractères tapés au
clavier, soit jusqu'à la validation avec la touche Entrée) ; - -N10 va
lire exactement 10 caractères (quand je teste, l'appui éventuel de la
touche Entrée est remplacé par une espace dans la variable).



je suis sous lenny, version de bash : 3.2-4

donc tout à fait possible la différence de fonctionnement.

CH

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4d0bcb16$0$27524$