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

Shell et commandes GNU Discussion :

Lancer un exécutable via fichier bash


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut Lancer un exécutable via fichier bash
    Bonjour,

    Je galère depuis hier pour faire exécuter un fichier exécutable (sans extension) dans un terminal.
    Lorsque je suis dans un terminal, la commande "./nomfichier" le lance bien.

    Par contre, il ne s'exécute pas lorsque j'ouvre un terminal via un fichier ".sh"
    voici le code de ce fichier "vasy.sh":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!bin/bash
    cd ~/SAVA/code/user
    gnome-terminal ./monfichier
    read
    quelqu'un peut-il mettre fin à mon calvaire svp?

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    dans ./monfichier le ./ signifie que le fichier est dans le répertoire courant, par défaut quand tu ouvres un terminal ce doit être un truc genre /home/toto/, aka ton répertoire personnel, qu'on peut aussi écrire ~/, donc dans ton script tu peux essayer de mettre par exemple ~/monfichier ou /home/machin/monfichier

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    il faut nous dire ce que tu veux faire, exactement, depuis le début.

    parce que être dans un terminal pour lancer un script qui en lance un autre dans un autre terminal, comment dire...

    a priori :gnome-terminal -e '/chemin/absolu/script; read', mais s'il est question de créer un lanceur, un simple script ne suffira pas.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    en fin! merci d'avoir déplacé mon poste et désolé de mettre trompé de lieu

    N_Bah, j'ai fais ce que tu as suggéré. Merci

    BufferBob, voici ce que je souhaite faire:
    dans l'absolu: Cliquer sur l'icône d'un fichierA qui va lancer un fichierB qui s'exécute dans un terminal.

    J'ai réussi, à travers mes cherches sur le net, avec mon fichierA, à faire ouvrir un terminal à partir du de celui du dash.
    1) Mais je ne sais pas le faire ouvrir à partir du fichierA.
    2) ensuite, bien que j'arrive à lancer le fichierB en tapant "./fichierB" dans le 2e terminal ouvert, je ne sais pas le faire ouvrir automatiquement via le fichierA.

    je ne sais pas si c'est très clair...

    me laissez pas tomber svp

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Cliquer sur l'icône
    mais dans quel contexte ? sur le bureau ? dans l'explorateur de fichiers ?
    ...?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    via le bureau

  7. #7
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 117
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 117
    Par défaut
    On n'y comprend rien ! Un coup il y a l'esperluette un coup il y a le read, un coup il y a les simples quotes un coup non, bref on va faire court sinon on y passe la journée :
    le $ c'est mon prompt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ cat /tmp/test.sh 
    #!/bin/bash
    ls
    lors de l'exécution :
    • apparaît la liste_de_fichiers
    • puis, le terminal attend un appui sur ENTRÉE (commande read)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ cat bidon.sh 
    #!/bin/bash
    xterm -e '/tmp/test.sh; read'
    lors de l'exécution dans un autre terminal :
    • apparaît la liste_de_fichiers
    • puis, le terminal attend un appui sur ENTRÉE (commande read)



    Voilà. Et tout fonctionne bien.

  8. #8
    Membre confirmé
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 128
    Par défaut
    Jipété,
    je crois que tu lis trop vite et tu passe à coté de certaines choses.
    jack-ft, m'a demandé de tester des codes, alors je l'ai fait et lui ai posté le résultat.

    Si tu regarde bien mon code entier, tu peux constater qu'il est simple.

    je te remercie pour ton code maintenant, mais je ne le comprends pas ...
    car je n'arrive pas a identifier mon fichierA et mon fichierB dedans, ni ou chacun s'arrête (je débute)

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    j'ai édité le dernier message de Jipété, pour mettre en évidence les différents scripts, et leur déroulement.

    mais comme je te l'ai déjà dit, pour un lanceur, un autre script n'est pas utile.
    il faut créer un fichier lanceur, qui a un certain format, et qui incorporera la commande que tu veux exécuter (c'est-à-dire, lancer un terminal en exécutant (donc -x, ou -e) le script dont tu veux afficher le résultat).
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #10
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut
    Pour la défense de Jipété, le sujet est franchement pas clair...

    dans ton fichier vasy.sh, remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gnome-terminal ./monfichier
    read
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xterm -e './monfichier; read'
    et si besoin installe xterm.

    Ca permettra de voir si ça fonctionne bien.

Discussions similaires

  1. Lancer un exécutable via PHP sous linux
    Par MSM_007 dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2009, 07h45
  2. commande DOS impossible à lancer via fichier BATCH
    Par siekken dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 11/03/2009, 13h24
  3. Lancer un fichier bash par une page web ?
    Par ricco75 dans le forum Linux
    Réponses: 6
    Dernier message: 23/06/2008, 16h34
  4. lancer un vbs via un fichier bat sous windows98
    Par olaxius dans le forum VBScript
    Réponses: 5
    Dernier message: 07/12/2006, 11h54

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