Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lancer un executable depuis n'importe quel endroit

Sujet résolu
    31 octobre 2020 à 11:47:49

    Bonjour! Bien le bonjour!

    Je vous sollicite car apres maintes recherche je suis toujours en galere lol.

    Alors j'ai un script dans ~/usr/bin/, je souhaite pouvoir le lancer depuis n'importe quel endroit et surtout n'importe quel terminal. Je pensais naïvement que si le chemin /usr/bin etait dans ma variable PATH, je pourrais le faire, mais non. Du coup j'ai entendu parler du fichier ~/.bashrc mais ce fichier je ne sais le trouver, et je ne sais quoi mettre dedans...

    Je suis sous la disto manjaro, au cas ou ca serait utile... pls help me c'est peut être bateau mais on commence tous par quelques choses un jour...

    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2020 à 12:17:23

      salut,

      pour voir si le fichier existe :

      ls -A ~/

      ou 

      echo ~/.bas

      puis taper deux tabulations, pour afficher les complétions possibles.

      il faut y inclure la ligne suivante :

      PATH=$PATH:~/usr/bin

      si le fichier n'existe pas, il faut copier /etc/bash.bashrc vers ~/.bashrc

      enfin, il faudra sourcer le fichier pour qu'il s'applique à l'environnement courant.

      PS : le chemin vers les exécutables pourrait être simplifié à ~/bin

      parce que /usr/bin a un sens dans la hiérarchie du système de fichier général (ce répertoire regroupe les exécutables (binaries) des utilisateurs (users))
      alors que dans le répertoire personnel d'un utilisateur usr/ est implicite !

      -
      Edité par dantonq 31 octobre 2020 à 14:37:00

      • Partager sur Facebook
      • Partager sur Twitter

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

        31 octobre 2020 à 13:37:56

        @dantonq a écrit:

        salut,

        pour voir si le fichier existe :

        ls -A ~/

        Le fichier existe bien dans usr, il apparait avec la commande ls -A dans le repertoire ~/usr/bin cependant ce qu'il me semble logique la commande ls -A ~/ n'affiche pas mon script car e trouve dans ~/usr/bin

        il faut y inclure la ligne suivante :

        PATH=$PATH:~/usr/bin

        J'ai inclus en haut du fichier cela, mais rien n'y fait lorsque je veux l'executer dans un autre repertoire (./monscript ), on m'indique qu'aucun fichier n'a ete trouvé.

        J'ai par ailleurs ajouter le chemin ~/usr/bin à ma variable PATH en dehors du fichiers, mais le probleme etant que la modification n'est pas prise en compte si j'ouvre un autre terminal.



        • Partager sur Facebook
        • Partager sur Twitter
          31 octobre 2020 à 14:41:00

          le fichier .bashrc doit exister dans $HOME (càd /home/ismiasma, si ismiasma est ton identifiant de connexion, par défaut.), et c'est dans ce fichier qu'il faut indiquer la modification du PATH.

          ensuite, il faut sourcer ce fichier ~/.bashrc
          après enregistrement, il doit être pris en compte par les terminaux que tu ouvriras.

          • Partager sur Facebook
          • Partager sur Twitter

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

            1 novembre 2020 à 13:28:15

            dantonq a écrit:

            Oh thanks ! c'est bien plus clair pour moi.

            Juste une petite clarification, je suis pas encore tres familière avec certains terme... Quand vous employez le terme sourcer, il s'agit d'ajouter la commande source ~/.bashrc au fichier bashrc ?

            ensuite, il faut sourcer ce fichier ~/.bashrc
            après enregistrement, il doit être pris en compte par les terminaux que tu ouvriras.



            • Partager sur Facebook
            • Partager sur Twitter
              1 novembre 2020 à 14:38:03

              source est une commande interne de bash à exécuter dans le terminal auquel appliquer les "configurations" contenues dans un script (ici, ~/.bashrc)

              la commande POSIX correspondante est le point (. fichierAsourcer, par exemple)

              un script sourcé s'exécute dans l'environnement courant
              un script exécuté normalement s'exécute dans un sous-environnement, qui ne peut pas modifier l'environnement courant.

              • Partager sur Facebook
              • Partager sur Twitter

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

                1 novembre 2020 à 17:53:50

                D'accord très bien j'en ai appris des choses ! Encore merci d'avoir pris de votre temps dantonq

                • Partager sur Facebook
                • Partager sur Twitter

                Lancer un executable depuis n'importe quel endroit

                × 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