Dialog et lancer un fichier sélectionné
Résolu/Fermé
A voir également:
- Compléter de façon à obtenir la désignation exacte du fichier sélectionné
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
- Trouver mon adresse exacte - Guide
- Comment ouvrir un fichier epub ? - Guide
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
19 sept. 2013 à 19:08
19 sept. 2013 à 19:08
Salut,
Il faut d'abord récupérer le nom de ton fichier sélectionné dans une variable et ensuite lancer ladite variable ;-\
Il faut d'abord récupérer le nom de ton fichier sélectionné dans une variable et ensuite lancer ladite variable ;-\
var=$(dialog --stdout --fselect /home 14 30)
./${var}
Salut zipe,
Merci pour ton astuce ;-)
Comment ferais tu pour afficher dans une fenetre dialog des résultats dynamiques comme par exemple un tail -f /var/log/syslog ?
Est-ce possible?
Je n'ai trouvé sur le net que des dialog sur des résultats figés, mais rien en dynamique.
Aurais tu une petite idée?
Merci pour le coup de main
Merci pour ton astuce ;-)
Comment ferais tu pour afficher dans une fenetre dialog des résultats dynamiques comme par exemple un tail -f /var/log/syslog ?
Est-ce possible?
Je n'ai trouvé sur le net que des dialog sur des résultats figés, mais rien en dynamique.
Aurais tu une petite idée?
Merci pour le coup de main
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
Modifié par zipe31 le 20/09/2013 à 13:55
Modifié par zipe31 le 20/09/2013 à 13:55
Re-
Alors c'est un poil tordu mais ça marche ;-))
Il faut tout d'abord créer une variable contenant un fichier temporaire avec "mktemp" :
Alors c'est un poil tordu mais ça marche ;-))
Il faut tout d'abord créer une variable contenant un fichier temporaire avec "mktemp" :
file=$(mktemp)Ensuite rediriger la sortie de "tail -f /var/log/syslog" vers ce fichier (variable), le tout en arrière-plan (&) :
tail -f /var/log/syslog > ${file}&Puis lancer la commande dialog :
dialog --stdout --clear --no-shadow --tailbox ${file} 25 70A la fin, il faut penser à arrêter l'exécution de la commande "tail".
Re,
J'ai essayé ceci :
#!/bin/bash
file=$(mktemp)
tail -f /var/log/syslog > ${file}&
dialog --stdout --clear --no-shadow --tailbox ${file} 25 70
Cela fonctionne ;-)
Par contre, je n'ai pas compris, car j'ai une boxe de sortie.
Lorsque je la sélectionne, il semble que le tail se ferme.
Mais je n'en suis pas très certain.
Pourrais tu me confirmer qu'il ferme bien, car je ne souhaiterai pas saturer mon file system?
Merci encore pour ton aide ;-)
J'ai essayé ceci :
#!/bin/bash
file=$(mktemp)
tail -f /var/log/syslog > ${file}&
dialog --stdout --clear --no-shadow --tailbox ${file} 25 70
Cela fonctionne ;-)
Par contre, je n'ai pas compris, car j'ai une boxe de sortie.
Lorsque je la sélectionne, il semble que le tail se ferme.
Mais je n'en suis pas très certain.
Pourrais tu me confirmer qu'il ferme bien, car je ne souhaiterai pas saturer mon file system?
Merci encore pour ton aide ;-)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 sept. 2013 à 14:15
20 sept. 2013 à 14:15
Par contre, je n'ai pas compris, car j'ai une boxe de sortie.
C'est à dire ??? Qu'appelles-tu boxe ? Un bouton "Sortie" ?
C'est à dire ??? Qu'appelles-tu boxe ? Un bouton "Sortie" ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 sept. 2013 à 14:34
20 sept. 2013 à 14:34
Ok.
Lorsque je la sélectionne, il semble que le tail se ferme.
Non, en fait comme on l'a lancé en arrière plan, il tourne toujours.
Il suffit de taper la commande
jobs
pour voir les processus tournant en arrière-plan.
Pour faire remonter ton job et le fermer :
fg
puis
CTRL-C
S'il y a plusieurs jobs qui tournent, il faut rajouter à la commande "fg" le numéro du job
correspondant (exemple pour le job numéro 1) :
fg %1
Lorsque je la sélectionne, il semble que le tail se ferme.
Non, en fait comme on l'a lancé en arrière plan, il tourne toujours.
Il suffit de taper la commande
jobs
pour voir les processus tournant en arrière-plan.
Pour faire remonter ton job et le fermer :
fg
puis
CTRL-C
S'il y a plusieurs jobs qui tournent, il faut rajouter à la commande "fg" le numéro du job
correspondant (exemple pour le job numéro 1) :
fg %1