Je voudrais créer un script qui m'affiche son emplacement.
Avec la commande pwd, le script m'affiche l'emplacement courant de l'utilisateur et non l'emplacement du script.
Si quelqu'un connais la solution je suis preneur![]()
Je voudrais créer un script qui m'affiche son emplacement.
Avec la commande pwd, le script m'affiche l'emplacement courant de l'utilisateur et non l'emplacement du script.
Si quelqu'un connais la solution je suis preneur![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part dirname $0
pour avoir le chemin absolu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ( cd -P $(dirname $0); pwd)
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo `pwd`/$0
beaucoup a vous tous
La meilleur solution est :
Bravo laurentschneider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ( cd -P $(dirname $0); pwd)
Pour tester j'ai executer le script depuis le dossier /root/rsyncpp/ qui contient le script rsyncpp, voici les résultats sachant que :
1 - Correspond à "dirname $0"
2 - Correspond à "echo `pwd` $0"
3 - Correspond à dirname "cd -P $(dirname $0); pwd"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ~/rsyncpp# ./rsyncpp 1 - je suis ds le dossier . 2 - je suis ds le dossier /root/rsyncpp/./rsyncpp 3 - Je suis ds le dossier /root/rsyncpp ~/rsyncpp# /root/rsyncpp/rsyncpp 1 - je suis ds le dossier /root/rsyncpp 2 - je suis ds le dossier /root/rsyncpp//root/rsyncpp/rsyncpp 3 - Je suis ds le dossier /root/rsyncpp
Le chemin attendu etait donc "/root/rsyncpp" et seule la solution 3 renvoi ce chemin dans le cas ou on execute le script par un chemin relatif et en absolu.
Merci a vous,
@+
Partager