[shel] variable répertoire en cours / d'exécu
Résolu/Fermé
pifou25
Messages postés
144
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
29 déc. 2009 à 19:04
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014 - 10 janv. 2010 à 18:09
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014 - 10 janv. 2010 à 18:09
A voir également:
- [shel] variable répertoire en cours / d'exécu
- Vba range avec variable ✓ - Forum VB / VBA
- Panne tnt en cours aujourd'hui - Guide
- Association avec le serveur freebox en cours ✓ - Forum Freebox
- En cours de livraison ✓ - Forum Consommation & Internet
- Il est en cours de transport vers votre site de livraison ✓ - Forum Consommation & Internet
8 réponses
debianhunter
Messages postés
119
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
11 juillet 2010
24
10 janv. 2010 à 17:29
10 janv. 2010 à 17:29
Salut,
Est-ce que
Est-ce que
dirname $0te conviendrai ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
29 déc. 2009 à 19:09
29 déc. 2009 à 19:09
Salut,
pwd ?
pwd ?
Salut,
Ou
Ou
lami20j@debian:~/pifou/scripts$ cat test.sh #!/bin/bash echo $PWD lami20j@debian:~/pifou/scripts$ ./test.sh /home/lami20j/pifou/scripts
pifou25
Messages postés
144
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
10 janv. 2010 à 16:32
10 janv. 2010 à 16:32
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
Urielxx
Messages postés
190
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
25 juin 2013
46
10 janv. 2010 à 16:55
10 janv. 2010 à 16:55
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.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
10 janv. 2010 à 17:21
10 janv. 2010 à 17:21
Re-
Tu peux essayer avec la commande "locate" (faire un updatedb en root avant), à condition que le nom de ton script soit unique...
Tu peux essayer avec la commande "locate" (faire un updatedb en root avant), à condition que le nom de ton script soit unique...
su -c '/usr/bin/updatedb' Password: ... (un certrain temps) dirname $(locate nom_script.sh)
pifou25
Messages postés
144
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
10 janv. 2010 à 18:09
10 janv. 2010 à 18:09
merci pour vos réponses !
en fait oui je crois que celle ci me convient
LOCALPATH=$(dirname $0)
Merci!
en fait oui je crois que celle ci me convient
LOCALPATH=$(dirname $0)
Merci!