Récupérer le chemin d'exécution de mon script

Résolu
Bonjour,

J'ai besoin de récupérer le chemin d'exécution de mon script bash

J'ai fait ceci mais ça marche pas
pwd $chemin_script_bash  
source $chemin_script_bash/mysql.sh


il devrai comprendre que le chemin d'exécution est : /home/serveur/Domotique/ordres/mysql ??????

mysql.sh
#------- CONNECTION A LA BASSE DE DONNES AVEC BASH -------------
hote_db="localhost"
nom_bd="domotique"
login_db="xxxxxx"
pass_bd="xxxxxx"


Merci.

6 réponses

  1. Bonjour,

    Merci ça marche impeccable.
    chemin_bash=$(which mysql.sh) ; # renvoyer le chemin où se trouve le script 
    source ${chemin_bash%/*}/mysql.sh # Insertion du fichier de connexion a la basse de donnés mysql


    Merci.
    1. Contributeur
      p=$(which mysql.sh) ; echo ${p%/*}
      ou
      dirname $(which  mysql.sh)
      1. Bonjour,

        J'ai ajouté mon chemin dans le PATH
        serveur@debian:~$ echo $PATH 
        /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/serveur/scripts:/home/serveur/Domotique/ordres 
        serveur@debian:~$ 


        je me rend compte d'un problème

        source ${PWD}/mysql.sh

        me renvoie le chemin depuis lequel on exécute le script, pas celui où se trouve le script ???

        J'ai essayé avec
        path=$(dirname $0)
        et
        path=$(pwd $0) 


        Mais il me renvoi le chemin avec le nom du fichier comme ceci
        /home/serveur/Domotique/ordres/e1-on


        Ors il faudrait qu'il puisse me renvoyer le chemin où se trouve le script comme ceci
        /home/serveur/Domotique/ordres


        Comment puis je faire ?

        Merci
        1. Bonjour,

          Merci c'est beaucoup plus rapide et moins de ligne de code
          source ${PWD}/mysql.sh


          Merci.
          1. Contributeur
            hello
            utiliser la variable PWD
            source ${PWD}/mysql.sh
            1. Bonjour,

              Du coup j'ai fait comme ceci mais il met plus de temps à réagir avec une fonction 5 secondes de plus.
              chemin_script_bash(){   
              pwd   
                      }   
              source  $(chemin_script_bash)/mysql.sh


              Avec une variable c'est pas possible ?

              Merci.