1. #1
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    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
    2 148
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 148
    Points : 5 821
    Points
    5 821

    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
    Avant donc que d'écrire, apprenez à penser.
    Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
                                                        - Nicolas Boileau, L'Art poétique

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

    Informations forums :
    Inscription : février 2008
    Messages : 4 700
    Points : 12 174
    Points
    12 174

    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 la FAQ et les cours shell

  4. #4
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    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
    4 700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 4 700
    Points : 12 174
    Points
    12 174

    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 la FAQ et les cours shell

  6. #6
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    via le bureau

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

    Informations forums :
    Inscription : février 2008
    Messages : 4 700
    Points : 12 174
    Points
    12 174

    Par défaut

    quel bureau ? Gnome ? KDE ?
    ...?

    en tout cas, il faut créer un lanceur*, qui exécutera la commande que j'ai donnée précédemment (si elle fonctionne bien ).

    * là dessus, je ne peux pas t'aider : je n'utilise pas de bureau, mais un tiling WM.
    .
    N'oubliez pas de consulter la FAQ et les cours shell

  8. #8
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    le code que tu as donné ne fonctionne pas. J'avais déjà testé.
    Je l'ai refais ça plante le système :-(

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

    Informations forums :
    Inscription : février 2008
    Messages : 4 700
    Points : 12 174
    Points
    12 174

    Par défaut

    ça plante le système
    de quelle manière ?
    on ne voit pas ce que tu fais !
    tu pourrais être en tutu avec une bouée en forme de canard, on ne le saurait pas !
    ou ce qu'il y a sur ton écran.
    tu pourrais être entrain de mater des gens en tutu avec une bouée en forme de canard, on ne le saurait pas non plus !

    essaye avec -x, à la place de -e...

    Citation Envoyé par NBaH
    quel bureau ?
    question idiote ! si tu veux utiliser gnome-terminal, c'est que tu es sur Gnome !
    .
    N'oubliez pas de consulter la FAQ et les cours shell

  10. #10
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    En faisant recherche, j'ai trouvé "Terminal", "Xterm" et "UXterm".

    Je ne sais plus quelle manipe j'ai fais mais j'avais vu "Unity"
    D'après ce lien : https://doc.ubuntu-fr.org/terminal
    je suis avec "gnome-terminal", non?

    ci-joint l'erreur:Nom : errSAVA.JPG
Affichages : 41
Taille : 31,9 Ko

  11. #11
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 772
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 772
    Points : 7 944
    Points
    7 944

    Par défaut

    Citation Envoyé par Mod77 Voir le message
    Je l'ai refait ça plante le système :-(
    Ben dis donc, t'as pas peur d'abuser de gros mots !
    Le système est loin d'être planté puisque tu peux faire une copie d'écran !

    Ensuite, c'est à se demander si les gens réfléchissent encore aux messages qu'ils reçoivent, à notre époque...
    Tout est indiqué dans le message, écrit noir sur blanc, enfin, blanc sur rouge :
    Nom : erreur.png
Affichages : 34
Taille : 18,0 Ko
    mais non, "au secours ! Au secours !"


    Alors quand on a ce genre de message et qu'on n'est pas capable de s'en dépatouiller, la moindre des choses serait de poster le code fautif (et pas en faisant une copie d'écran du code [la nouvelle mode des flemmards...], un vrai copier/coller du texte de celui-ci afin qu'ici on puisse le récupérer également par copier/coller, pour éviter une faute de frappe à la recopie [ça arrive]) afin que d'autres puissent l'examiner.

    Cependant, en regardant attentivement la string renvoyée dans le message d'erreur, je suspecte l'oubli d'une espace dans le code du script, ou un bête problème de chemin.
    Cherche un peu, quoi.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  12. #12
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    ok! merci pour la leçon, mais j'y suis depuis avant hier alors ça me fatigue.
    En plus le copier/coller ne fonctionne pas du terminal au site alors j'ai fait une copie d'écran, bien que plus fastidieux à mon sens.

    Le problème de chemin n'est pas possible car si tu relis du début, j'ai, à la base, un code qui fonctionne mais qui ne lance pas le fichierB (sava).

    regarde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     cd ~/SAVA/code/user
     gnome-terminal ~/sava &
    avec ce code le terminal s'ouvre bien, mais sava n'est pas exécuté, c'est tout!
    si je tape dans le terminal ouvert : le fichier s'exécute bien.

  13. #13
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 772
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 772
    Points : 7 944
    Points
    7 944

    Par défaut

    Citation Envoyé par Mod77 Voir le message
    regarde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     cd ~/SAVA/code/user
     gnome-terminal ~/sava &
    Ah !
    Et pourquoi le message d'erreur en copie d'écran ne correspond-il pas ? On peut y lire ;read en plus... Ça sort d'où ?

    Sinon, la 1re ligne te propulse dans le dossier /home/ton_nom/SAVA/code/user et la 2de ligne appelle /home/ton_nom/sava &, y a comme un 'blème, non ?

    Citation Envoyé par Mod77 Voir le message
    si je tape dans le terminal ouvert :
    le fichier s'exécute bien.
    Tape donc pwd pour savoir où tu es exactement.

    Citation Envoyé par Mod77 Voir le message
    En plus le copier/coller ne fonctionne pas du terminal au site
    Je suspecte juste le "copier" qui ne fonctionne pas : dans ma Debian, pour copier à partir d'un terminal, c'est Shift-Ctrl-C (et pour coller dans un terminal, Shift-Ctrl-V).
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  14. #14
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    le "read" sort du message de N_BaH.

    Je t'ai mis que l'essentiel du code
    j'ai mis des "pwd" avant et après pour justement savoir où j'étais

    je suis dans le bon répertoire à chaque fois, sinon je ne pourrais pas exécuter en écrivant directement "./sava" dans le terminal

  15. #15
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 772
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 772
    Points : 7 944
    Points
    7 944

    Par défaut

    Citation Envoyé par Mod77 Voir le message
    le "read" sort du message de N_BaH.

    Je t'ai mis que l'essentiel du code
    Donc je perds mon temps à examiner les deux lignes que tu as postées, qui ne correspondent pas à la réalité. Cool...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  16. #16
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2008
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2008
    Messages : 1 613
    Points : 4 264
    Points
    4 264

    Par défaut

    Citation Envoyé par Jipété Voir le message
    Et pourquoi le message d'erreur en copie d'écran ne correspond-il pas ? On peut y lire ;read en plus... Ça sort d'où ?
    M'est avis que ça sort de la proposition (non testée) de N_BaH...
    Mais il avait mis une espace après le point-virgule...

    Citation Envoyé par Mod77 Voir le message
    si je tape dans le terminal ouvert : le fichier s'exécute bien.
    Oui, mais BufferBob t'a expliqué que le point sert à indiquer au shell de chercher le script dans le répertoire courant... que tu ne nous donnes pas...

    D'après les bribes que je vois, j'imagine que ton script sava est dans ~/SAVA/code/user, non?

    Si oui, tu dois pouvoir vérifier que tu peux le lancer en tapant ~/SAVA/code/user/sava dans le terminal. Ok?

    Si ça marche bien, que se passe-t-il lorsque tu tapes gnome-terminal ~/SAVA/code/user/sava &?

  17. #17
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    Citation Envoyé par Jipété Voir le message
    Donc je perds mon temps à examiner les deux lignes que tu as postées, qui ne correspondent pas à la réalité. Cool...
    je ne comprends pas ce que tu écris. tu a l'air d'être en colère parce que j'ai écris que les 2 lignes de code sans les pwd que je t'ai écris avoir mis,

    excuse moi, mais je ne vois pas où tu perds ton temps ???

  18. #18
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 772
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 772
    Points : 7 944
    Points
    7 944

    Par défaut

    Citation Envoyé par Mod77 Voir le message
    excuse-moi, mais je ne vois pas où tu perds ton temps ???
    Citation Envoyé par Mod77 Voir le message
    le "read" sort du message de N_BaH.
    et je ne le vois pas dans les deux lignes que tu as postées, or il est présent dans le message d'erreur....

    Citation Envoyé par Mod77 Voir le message
    Je t'ai mis que l'essentiel du code
    donc je ne vois pas tout, et il peut y avoir des blagues ailleurs...

    Donc en résumé tu balances deux lignes qui ne correspondent pas à la réalité donc je perds mon temps à les étudier car le problème est sans doute sur une ligne que je ne vois pas.
    Pas compliqué à comprendre ! Si ?
    (et en plus je perds aussi mon temps à répondre ce genre de truc).
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  19. #19
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    jack-ft,

    j'ai testé la ligne de N_Bah en respectant les espaces, je t'assure.
    mon script sava est bien dans le répertoire que tu indique : ~/SAVA/code/user

    je vérifie ta proposition, merci.

  20. #20
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    octobre 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2012
    Messages : 106
    Points : 46
    Points
    46

    Par défaut

    voici le code entier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!/bin/bash
    # programme de lancement des "lectures de codes"
     
    cd ~/SAVA/code/user
    pwd
     
    # gnome-terminal ~/sava &
     gnome-terminal -e ' ~/SAVA/code/user/sava; read'
     
    pwd
    echo APRES
    #read

Discussions similaires

  1. Lancer un exécutable via PHP sous linux
    Par MSM_007 dans le forum Fonctions
    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