IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Probleme affichage entre quotes ``


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut Probleme affichage entre quotes ``
    Bonjour

    Voila mon soucis. J'ai un programme a qui j'envoie une liste d'argument et je peux choisir celui ou ceux que je veux et il ou ils sont renvoyés au shell (unix). Pour l'instant pas de problèmes tout fonctione parfaitement mes arguments sont bien renvoyés au terminal. Mais voila, j'aimerai pouvoir l'utiliser par exemple avec des commandes unix telles que cat ou more de la maniere suivante : cat `./select *.c` pour pouvoir sélectionner les fichiers que je veux afficher. Hors quand je lance cette commande, mon programme s'exécute bien mais je ne peux pas voir ce qu' il affiche...donc effectivement je peux sélectionner un argument et le renvoyer au shell mais a l'aveuglette... y a t il un moyen de rendre visible l' exécution du programme lance entre quotes (``) ? J' ai chercher toutes les requêtes possible pour changer mon termios mais aucune ne semble convenir...

    Quelqu'un a une idée ??

    Merci pour votre aide.

  2. #2
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut
    Desole, je m' exprime mal... J' ai developpe un programme qui me permet de choisir entre plusieurs arguments de ma liste. Explication :

    Je rentre en arguments de mon programment : ./mon_program arg1 arg2 arg3 arg4

    Mon programme m' affiche ceci :

    arg1
    arg2
    arg3
    arg4

    Le curseur (texte souligne) passe dargument en argument suivant que j appuie sur les fleches du haut ou du bas. Lorsque j' ai fait mon choix j' appuie sur la touche entree et l argument est renvoyer au shell, c' est a dire il est imprimer sur le terminal.

    Hors voila comme je l' ai dit j' aimerai que ce programme soit utile et me permette de faire un SET (unix) par exemple.
    set VAR = `./mon_program choix1 choix2`.

    ou alors avec cat exemple : cat `./mon_program fichier1 fichier2`.

    Je choisis l'argument que je veux et il est renvoyer au shell donc si je choisi fichier1 : le shell interpretra la commande cat fichier1.

    Mon probleme est le suivant : lorsqu' on lance un programme ou commande entre quotes (``) le programme ou commande est execute mais rien n' est affiche sur le terminal.

    Donc dans mon cas c' est un gros probleme puisque j' aimerais voir la liste des arguments pour pouvoir en choisir un.

    Il existe beaucoup de flags en C permettant de modifier le comportement d' un terminal mais je n' en trouve aucun qui me permette d' afficher ce qui resulte de mon programme quand je le lance entre ses quotes.

    Je suis plus clair maintenant ?

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par corentink Voir le message
    Mon probleme est le suivant : lorsqu' on lance un programme ou commande entre quotes (``) le programme ou commande est execute mais rien n' est affiche sur le terminal.
    Tu fais erreur sur 2 points
    1) ce ne sont pas des quotes mais des backquotes
    2) le rôle de ces backquotes est de remplacer le code exécuté par ce qui est affiché par ledit code

    Exemple: tu lances le programme "date" de façon standard
    => ça t'affiche une chaîne ressemblant à ceci : "thu jan 01 22:05:17 CET 2008"

    Maintenant tu mets cet ordre entre backquotes. Bien sûr il faut avoir un but pour récupérer ce que l'ordre affiche (par exemple le mettre dans une variable) donc tu écris
    => ça t'exécute dans un sous-shell l'ordre "date" et tout ce que cet ordre affiche est replacé dans le contexte où t'as placé les backquotes. Donc c'est comme si t'avais écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var=thu jan 01 22:05:17 CET 2008
    Donc si tu lances un programme entre backquotes tel que tu le fais alors
    1) rien ne sera évidemment affiché sur le terminal puisque ce que le programme affiche est sensé être récupéré par toi dans un but plus grand
    2) il est probable que t'auras un message d'erreur car le shell traitera ce que ton programme affiche dans son contexte or le premier mot d'une ligne doit être un ordre shell valide. Et il est peu probable que ce que ton programme affiche soit un ordre shell valide. Exemple
    Le shell replace la chaîne "thu jan 01 22:05:17 CET 2008" à l'endroit où il y a les backquotes puis exécute le résultat. Il tente donc d'exécuter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    thu jan 01 22:05:17 CET 2008
    Comme la commande "thu" n'existe pas, il t'écrira "thu: no such file or directory"

    Mis à part ce point particulier qui méritait d'être rectifié, je pige rien à ce que tu veux faire. Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. probleme affichage entre firefox et explorer
    Par Abou Zar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 18/04/2012, 19h00
  2. Probleme d'affichage entre IE 7 et FireFox 3
    Par Seiphir0the dans le forum JSF
    Réponses: 6
    Dernier message: 04/05/2009, 17h50
  3. Probleme affichage entre IE et Firefox
    Par Hailey dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/08/2008, 14h03
  4. Réponses: 1
    Dernier message: 14/09/2007, 16h02
  5. [VB.NET] Probleme d'affichage entre ListBox/TextBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2004, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo