Rediriger une commande

Résolu/Fermé
jojo150393 - 13 oct. 2015 à 18:46
 jojo150393 - 17 oct. 2015 à 09:45
Bonjour,
j'essaye de lire sur le port série et d'afficher ce qui est envoyé. Malheuresement il ya des espaces et saut de ligne a enlever mais il y a toujours le mort "Port" qui est envoyé. J'ai donc essayé ceci:
cat < /dev/ttyS0 | grep "Port" >> serie.log

mais rien n'est envoyé dans le fichier.

En fait, dans mon script, j'ai une boucle ou je viens tester pleins d'entrée sorties. En tache de fond, j'ai un script qui vient écrire sur le port série ttyS1 toute les 5s. A chaque boucle, j'aimerais pouvoir lire le contenu de ttyS0 et l'envoyé dans un fichier de log, puis passer à la suite.

Une solution ?

ps:
la solution qui marche presque est celle-ci:
read -e < /dev/ttyS0

Mais impossible de rediriger dans un fichier:
read -e < /dev/ttyS0 >> serie.log <=== ne marche pas


Merci d'avance
A voir également:

2 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 oct. 2015 à 08:52
hllo
et avec
read -e var < /dev/ttyS0; echo "$var" >>serie.log
0
Oui effectivement ça marche bien !

j'avais essayé avec une variable en faisant :
var = $(read -e var < /dev/ttyS0);
echo $var >> serie.log

Mais ça marchait pas je sais pas pourquoi.
Merci beaucoup en tout cas!
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
14 oct. 2015 à 18:22
Salut,

Tout simplement parce qu'il ne faut pas d'espace autour du signe égale ;-\

var=$(read -e var < /dev/ttyS0)
0
ho le boulet ...Merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 oct. 2015 à 08:15
le var= est inutile, puisque read met le résultat dans var
0
jojo150393 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
17 oct. 2015 à 09:45
Erreur de copier/coller, j'avais pas mis le var:
var=$(read -e < /dev/ttyS0)
0