:salut:
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 :help:
Version imprimable
:salut:
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 :help:
Code:dirname $0
pour avoir le chemin absolu
Code:
1
2 ( cd -P $(dirname $0); pwd)
ou
Code:
1
2 echo `pwd`/$0
:merci: beaucoup a vous tous :)
La meilleur solution est :
Bravo laurentschneider :chin:Code:
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:
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,
@+