Executer nos script depuis n'impore où

Bonjour,
Je m'appelle Camille, je suis étudiante en première année d'informatique, et je bloque sur une partie d'un TP. Mon sujet me demande de créer un répertoire /bin dans le homedir, et de : "Modifiez votre environnement de façon à ce que les scripts inclus dans le répertoire /bin soient utilisables depuis n'importe quel endroit sans en spécifier le chemin d'accès.". J'ai essayé dans tous les sens, mais je n'y arrive pas. Merci de bien vouloir m'aider :/.

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bon bah maintenant j'ai plus aucunes commandes sous mon shell, je crois que j'ai fait une bêtise...

    EDIT : C'est bon j'ai réussi à mettre mon terminal, mais mon problème initial n'est pas réglé :/
    1. salut,

      tu ne peux pas créer un répertoire
      /bin
      dans ton répertoire personnel (homedir), car
      /
      est la racine du système de fichiers. ;)

      par contre, tu peux créer un répertoire
      bin
      sous ton "homedir".

      pour l'exécution des scripts qui y seront placés, intéresses-toi à la variable
      PATH
      .
      1. Je me suis mal exprimée, j'ai créé le répertoire home/bin :) C'est en utilisant la variable PATH que j'ai "cassé" mon terminal, je ne sait pas quoi mettre dedans :/
      2. et il faut qu'on devine ce que contient ta variable
        $PATH
        ?
      3. Pas la peine j'ai réussi.
    2. J'ai réussi à rendre mes script exécutable finalement, mais je suis obligée de mettre bash monscript.sh pour l'exécuter, quand j'essaye juste "monscript.sh" il me met l'erreur suivante :
      bash: /bin/bonjour.sh : bin : mauvais interpréteur: Aucun fichier ou dossier de ce type
      1. Si je comprends bien tu as dans ton "home" un repertoire bin
        (en gros /home/labh3lly/bin) et tu veux que depuis n importe quel "endroit" tu puisses lancer ton script exemple tu as un script tp1.sh en bash et il doit marcher depuis un autre "repertoire actif" exemple / ou meme /home sans mettre le chemin complet

        genre labh3lly@tonpc ~ $tp1.sh et non
        labh3lly@tonpc ~ $./home/labh3lly/bin/tp1.sh

        J'ai réussi à rendre mes script exécutable

        chmod +x?
        1. Slt , je sais pas si ca aide , mais regarde regarde du cote du path pour l'executer nimp ou , par exemple pour un script en chmod 777 mon script.sh rajoute le chemin absolu de mon script.sh dans /etc/profile

          Ainsi ton script sera executable sans entree de chemin, donc de partout
          1. salut
            as tu bien compris que bash et sh sont deux chose différentes un peu comme fortran et C
            ainsi un programme a.sh écrit en bash sera lancer par bash a.sh mais s'il est écrit en sh par sh a.sh
            evidemment presque toutes les fonctions marchent de la meme façon dans les deux mais pas exactement

            bash: /bin/bonjour.sh : bin : mauvais interpréteur: Aucun fichier ou dossier de ce type
            1. tes entête de script commence bien par quelques chose du genre:

              #!/bin/sh
              
              ton code
              
              exit 0
              


              sinon que donne la commande:

              echo $PATH
              


              tu aura un resultat de ce genre:
              /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/derinhger/android/android-sdk-linux/tools
              


              dans le quel tu doit ajouter ton /homedir/bin pour ton TP