[shel] variable répertoire en cours / d'exécu
Résolu
pifou25
Messages postés
144
Date d'inscription
Statut
Membre
Dernière intervention
-
pifou25 Messages postés 144 Date d'inscription Statut Membre Dernière intervention -
pifou25 Messages postés 144 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai fait un script shell (un qui commence par /bin/bash)
Je voudrais l'optimiser selon le répertoire où il est: quelle est la variable si elle existe qui me donne son chemin complet sans le nom du fichier ?
et pas le répertoire courant - qui doit bien exister aussi ...
par exemple: mon script est dans /home/pifou/scripts/test.sh
et moi j'exécute à partir de mon répertoire /home/pifou :
scripts/test.sh
... je veux savoir quelle variable d'environnement (?) contient la valeur /home/pifou/scripts
j'ai fait un script shell (un qui commence par /bin/bash)
Je voudrais l'optimiser selon le répertoire où il est: quelle est la variable si elle existe qui me donne son chemin complet sans le nom du fichier ?
et pas le répertoire courant - qui doit bien exister aussi ...
par exemple: mon script est dans /home/pifou/scripts/test.sh
et moi j'exécute à partir de mon répertoire /home/pifou :
scripts/test.sh
... je veux savoir quelle variable d'environnement (?) contient la valeur /home/pifou/scripts
A voir également:
- [shel] variable répertoire en cours / d'exécu
- Panne tnt en cours aujourd'hui - Guide
- En cours d'acheminement - Forum Consommation & Internet
- En cours de livraison - Forum Consommation & Internet
- La ressource demandée est en cours d'utilisation ✓ - Forum Caméra
- Répertoire téléphonique gratuit - Télécharger - Bureautique
8 réponses
Salut,
Ou
Ou
lami20j@debian:~/pifou/scripts$ cat test.sh #!/bin/bash echo $PWD lami20j@debian:~/pifou/scripts$ ./test.sh /home/lami20j/pifou/scripts
Bonjour,
j'avais précisé "pas le répertoire courant"
parce que je suis dans /var/www
:/var/www$ ~/test.sh
la réponse de $PWD :
/var/www
je voulais le répertoire du script:
~ ou /home/pifou
...
j'avais précisé "pas le répertoire courant"
parce que je suis dans /var/www
:/var/www$ ~/test.sh
la réponse de $PWD :
/var/www
je voulais le répertoire du script:
~ ou /home/pifou
...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Alors tu utilises la commande find.
Il n'y a pas de variable d'environnement pour chaque fichier de GNU/Linux en plus pour un fichier qu'on ne saura jamais s'il sera crée.
Alors tu utilises la commande find.
Il n'y a pas de variable d'environnement pour chaque fichier de GNU/Linux en plus pour un fichier qu'on ne saura jamais s'il sera crée.
$ cd /var/www/ $ pwd /var/www $ find /home/lami20j/ -name 'test.sh' /home/lami20j/scripts/test.sh $ find /home/lami20j/ -name 'test.sh' -exec dirname {} \; /home/lami20j/scripts
Il n'y a pas de variable d'environnement qui précise la localisation de ton script. Par contre, en utilisant $0 et $PWD, tu peux le retrouver : $PWD/$0 est la localisation que tu recherches. Par contre, elle peut très bien contenir des ".." ou autres.