PATH qui disparait

Bonjour à tous !
J'in un petit pb avec mon PATH (et oui , il est capricieux!).J'ai créé un petit script pour eviter d'avoir a taper ./ devant chaque executable .Je l'ai changé de mode (777) et je l'inclu dans le PATH par PATH=$PATH:adresse-absolu-du-script enn tant que su mais dés que je ferme la konsole sur llaquel je l'ai inclue le PATH se remodifie en suprimant l'adresse ajoutée precedement, du coup : "command not found" !! !
Je ne sais pas quoi fire de plus !!
Quelqun aurait-il une solution ?

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,
    Au vue des quelques infos que tu donnes, tu sembles être sous Linux.
    Peux-tu être plus précis : système d'exploitation, shell que tu utilises.
    A+, crabs
    1. Merci crabs de repondre encore a mes question et désolé qu'elles soit laconiques .Alors, je suis sous FC4 avec un shell en bash et j'ecrit en C, si besoin est je compile avec gcc , et ... je sais pas quoi dire d'autre !.
      1. Salut,
        Pour le PATH, chaque utilisateur à le sien. Donc quand tu modifies le PATH de
        root, tu ne modifies pas le PATH pour les autres utilisateurs. [t'es pas sous
        DOS ou autre OS du même type]
        Pour jouer avec les binaires du dossier courant le plus simple c'est de
        rajouter '.' à la fin de la variable d'environnement PATH de l'utilisateur.

        Le mieux pour t'en sortir, tu crées ou tu modifies le fichier qui se situe dans
        ton HOME et qui se nomme .bash_profile
        # Get the aliases and functions
        if [ -f ~/.bashrc ]; then
                . ~/.bashrc
        fi
        
        BASH_ENV=$HOME/.bashrc
        
        export BASH_ENV PATH
        

        Puis tu crées le fichier .bashrc toujours dans ton dossier HOME :
        # On supprime le '.' si il existe dans le PATH
        PATH=`echo $PATH |\
         awk -F: 'BEGIN{sep="";p=""}\
          {for(i=1;i<=NF;i++) if ($i!="."){p=p sep $i;sep=":"}}\
          END{print p}'`
        # Puis on le rajoute
        PATH=${PATH}:.
        export PATH
        

        L'avantage de la technique c'est qu'au fur et à mesure des changements
        d'environnement et des lancements de scripts il n'y aura qu'un '.' dans le
        PATH. Second avantage on est sur que le . est à la fin du PATH
        Fait cette modification pour tes comptes utilisateurs, mais c'est à éviter pour
        le compte root.

        Tu vérifie que ça fonctionne en relançant une console pour ton utilisateur
        (dont tu as modifié ces fichiers d'environnements).
        Dès que tu n'as plus d'erreur (moi j'en ai pas sous Slackware), tu quittes ton
        environnement graphique et tu te reconnectes.

        Merci crabs de repondre encore a mes question et ...
        Même si il y a un certain temps, je me suis aussi posé ces questions, et
        quelques 'gourou' y ont répondu soit au travers de leur publication soit par
        le biais des forums.

        A+, bon courage, crabs