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

Résolu/Fermé
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - Modifié par xunil2003 le 19/08/2012 à 15:24
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - 20 août 2012 à 12:26
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.

A voir également:

6 réponses

xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
Modifié par xunil2003 le 19/08/2012 à 15:47
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.
0
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 5 624
19 août 2012 à 15:52
hello
utiliser la variable PWD
source ${PWD}/mysql.sh
0
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
19 août 2012 à 16:08
Bonjour,

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


Merci.
0
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
Modifié par xunil2003 le 20/08/2012 à 00:28
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 5 624
Modifié par dubcek le 20/08/2012 à 09:05
p=$(which mysql.sh) ; echo ${p%/*}
ou
dirname $(which  mysql.sh)
0
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
20 août 2012 à 12:26
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.
0