Le_Marius a écrit :Bonjour,
Est-il possible de sauvegarder dans un fichier texte tout ce qui est affiché dans screen ?
exemple:
while :
do
cat screen... >> mon_fichier.txt
sleep 1
done
Bonjour,
Comme toujours avec UNIX (et donc Linux), la réponse est oui. Il y a même, très souvent, plusieurs chemins pour y arriver.
Il y a des fondamentaux à assimiler, je te l'avais déjà indiqué dans un autre topic. Les notions de fichiers, d'entrée/sortie standards et de redirection (le pipe et le > ou le >>) en font partie.
Comme je t'avais répondu dans un autre sujet, j'utilise minicom. Pour te répondre j'ai installé screen et ressorti mon vieux récepteur GPS (souris HOLLUX) qui envoie des trames MNEA sur le port USB.
Screen permet de lancer et de reprendre la main sur des process (comme si tu branchais un écran/clavier sur chacun d'eux, avec un commutateur). Il ouvre donc un shell qui permet de lancer des exécutables et récupère la sortie standard de ce programme..
Tu veux donc que le programme lancé par screen duplique sa sortie standard (qui sera récupérée et afficher par screen) et écrive aussi dans un fichier.
La commande tee est justement faite pour cela et peut, soit écraser le fichier de sortie, soit ajouter à la fin du fichier (un peu comme le >> que tu connais). Cela se fait avec l'option -a.
Pour résumer:
-) modifie ton script pour qu'il écrive aussi dans un fichier:
cat /dev/ttyUSB0 | tee -a nom-de_ton_fichier (la barre verticale est le symbole du pipe)
-) lance screen
-) dans le shell de screen, lance ton script.
l'avantage est que les données seront tout de même capturées, même si tu "branches" screen sur un autre process.
Nota: UNIX is user friendly mais il choisit ses amis

)))
Sylvain
CQFD