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
il devrai comprendre que le chemin d'exécution est : /home/serveur/Domotique/ordres/mysql ??????
mysql.sh
Merci.
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
-
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. -
Contributeur
p=$(which mysql.sh) ; echo ${p%/*}oudirname $(which mysql.sh)
-
Bonjour,
J'ai ajouté mon chemin dans le PATHserveur@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é avecpath=$(dirname $0)
etpath=$(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 -
Bonjour,
Merci c'est beaucoup plus rapide et moins de ligne de codesource ${PWD}/mysql.sh
Merci. -
Contributeurhello
utiliser la variable PWDsource ${PWD}/mysql.sh -
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.