Partage
  • Partager sur Facebook
  • Partager sur Twitter

lancer un script C en console

Sujet résolu
    20 février 2017 à 18:58:57

    Bonjour,

    J'utilise linux depuis peu de temps et j'aimerais cree un script shell qui execute un programme en C.

    Normalement il suffit de faire ./nomprogramme mais J'ai besoin de donner le chemin complet (par exemple /home/monprogramme). Je ne peut malheureusement pas faire .//home/monprogramme.

    Existe il un autre moyen ? Par exemple pour un script bash on peut, a la place de mettre ./monprogramme ecrire bash monprogramme.

    merci :)

    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2017 à 19:32:28

      salut,

      tu peux placer ton script dans un répertoire, et mettre le chemin du répertoire dans ton PATH.

      tous les scripts dans ce répertoire seront alors accessibles, comme tous les autres programmes (dont le répertoire est dans le PATH : /bin/, /usr/bin/).

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        20 février 2017 à 22:39:12

        Salut,

        Pour lancer depuis ton shell un programme, tu rentres son chemin complet :

        /home/user/monprogramme



        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2017 à 1:47:21

          tarama78 a écrit:

          Normalement il suffit de faire ./nomprogramme mais J'ai besoin de donner le chemin complet (par exemple /home/monprogramme). Je ne peut malheureusement pas faire .//home/monprogramme.

          Pour exécuter un programme il suffit d'indiquer son chemin absolu ou relatif, c'est tout. Le point ne sert pas à exécuter un programme, ça désigne juste le répertoire courant, celui qui est affiché par la commande pwd. On est obligé de mettre un point lorsqu'on appelle un programme par son chemin relatif pour éviter la confusion avec l'appel des commandes qui sont dans le PATH.

          • Partager sur Facebook
          • Partager sur Twitter

          Blond, bouclé, toujours le sourire aux lèvres...

            21 février 2017 à 9:48:44

            On est obligé de mettre un point lorsqu'on appelle un programme par son chemin relatif pour éviter la confusion avec l'appel des commandes qui sont dans le PATH.

            pas tout à fait.
            le point indique le répertoire courant.
            si le répertoire (où est le script) n'est pas dans le PATH, il faut en indiquer le chemin absolu (depuis la racine du système de fichier /), ou relatif au répertoire courant.
            Lorsque le script est immédiatement sous le répertoire courant (qui n'est pas dans le PATH), il faut aussi indiquer un chemin; le plus court étant de dire que c'est le répertoire courant : ./
            quand le script est à un niveau inférieur au répertoire courant, on peut se dispenser du ./

            $ mkdir test
            $ cd test
            $ cat > hello.sh
            > #!/bin/sh
            > echo "Hello World !"
            > ^D
            $ chmod +x hello.sh
            $ ./hello.sh
            Hello World !
            $ cd ..
            $ test/hello.sh
            Hello World !
            $ $PWD/test/hello.sh
            Hello World !
            $ export PATH=$PATH:$PWD/test
            $ hello.sh
            Hello World !

            on ne va bien sûr pas modifier le PATH à chaque fois qu'on crée un script, il est donc souhaitable de dédier un répertoire à ses scripts, à l'instar de /bin.

            -
            Edité par dantonq 21 février 2017 à 9:53:02

            • Partager sur Facebook
            • Partager sur Twitter

            Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

              21 février 2017 à 18:07:35

              merci beaucoup de tous vos conseils j'ai appris l'utilite du . dans le ./ mon probleme est donc resolu : je met /home/monprogramme.
              • Partager sur Facebook
              • Partager sur Twitter
                21 février 2017 à 18:47:12

                dantonq a écrit:

                quand le script est à un niveau inférieur au répertoire courant, on peut se dispenser du ./

                Hgn.

                Après plus de 10 ans d'utilisation de Linux, j'ai un peu honte de découvrir ça aujourd'hui :honte:

                • Partager sur Facebook
                • Partager sur Twitter

                Blond, bouclé, toujours le sourire aux lèvres...

                lancer un script C en console

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown