Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/07/2006, à 14:37

nolan

[Résolu] Récupérer le chemin en bash

Bonjour,
Je suis complètement débutant dans le dévelopement . mais j'aimerais faire un petit script.

Je veux récupérer dans une variable le path courant
Par exemple je me trouve dans
/toto/titi/lulu/
Comment je dis a ma variable de prendre /toto/titi/lulu/ pour obtenir
echo $vpath
/toto/titi/lulu/

en fait ce que je veux faire c'est
mkdir $vpath momo

je ne suis pas sure d'avoir été claire.

Mais merci par avance.

Dernière modification par nolan (Le 03/07/2006, à 22:17)


N'oubliez pas d'ajouter résolu au titre quand le sujet l'est.
Sous linux on s'en sort toujours sans reformater

Hors ligne

#2 Le 03/07/2006, à 15:06

dylhoxic

Re : [Résolu] Récupérer le chemin en bash

euh si j'ai bien compris la commande "pwd" est ce que tu recherches... wink


Kubuntu++

Hors ligne

#3 Le 03/07/2006, à 16:21

kaworu

Re : [Résolu] Récupérer le chemin en bash

ou plus simple, la variable d'environement $PATH.
donc $(echo $PATH) et $(pwd) te donneront le chemin ^___^

EDIT :
c'est la variable $PWD et non pas $PATH

Dernière modification par kaworu (Le 03/07/2006, à 17:47)


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#4 Le 03/07/2006, à 16:41

dylhoxic

Re : [Résolu] Récupérer le chemin en bash

Ah bah non, la variable PATH est la variable qui contient le chemin d'accès au binaires, ex :

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

alors que pwd :

pwd
/home/dylhoxic

hmm


Kubuntu++

Hors ligne

#5 Le 03/07/2006, à 17:46

kaworu

Re : [Résolu] Récupérer le chemin en bash

Honte sur moi, j'étais distrait ^_____^

La variable dont je parle est $PWD et non pas $PATH

milles excuses ^____^

Dernière modification par kaworu (Le 03/07/2006, à 17:47)


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#6 Le 03/07/2006, à 19:11

nolan

Re : [Résolu] Récupérer le chemin en bash

Merci pour vos réponces
J'utilisais bien la commande pwd, mais je n'arrivais pas à récupérer le résultat j'ai fini par trouvé comment faire entre temps vos réponces sont tombés.

vpath=`pwd` mon erreur était d'utiliser des cotes au lieu d'accent grave.
echo $vpath
revient bien  à $PWD

Dernière modification par nolan (Le 03/07/2006, à 19:13)


N'oubliez pas d'ajouter résolu au titre quand le sujet l'est.
Sous linux on s'en sort toujours sans reformater

Hors ligne

#7 Le 03/07/2006, à 23:21

lunique

Re : [Résolu] Récupérer le chemin en bash

Bonjour.
Quitte a faire, autant utiliser

$(commande)

plutot que

`commande`

notamment parce que sa permet de les imbriquer et que c'est tout de meme plus lisible.

Ensuite, je te consellerai plutot de passer par $(pwd) plutot que par $PWD car a premiere vue,

mkdir $(pwd)/toto

est plus clair que

mkdir $(echo $PWD)/toto

Voila ma petite contribution ^^

Hors ligne

#8 Le 04/07/2006, à 07:21

nolan

Re : [Résolu] Récupérer le chemin en bash

Merci pour ces précisions


N'oubliez pas d'ajouter résolu au titre quand le sujet l'est.
Sous linux on s'en sort toujours sans reformater

Hors ligne

#9 Le 04/07/2006, à 10:09

batteuryo

Re : [Résolu] Récupérer le chemin en bash

nolan a écrit :

vpath=`pwd` mon erreur était d'utiliser des cotes au lieu d'accent grave.
echo $vpath
revient bien  à $PWD

En effet, les backquote --> ` lorsqu'elles entourent une commande, permettent de récuperer son résultat.


Je me demande dans quel etat j'ère ... ^^

Hors ligne

#10 Le 04/07/2006, à 18:06

kaworu

Re : [Résolu] Récupérer le chemin en bash

Salut !

mkdir $PWD/repertoire

marche aussi et est bien plus propre que de faire un sous-shell alors que l'on a une variable à dispo pour ça ^____^

C'est vrai que $(commande) est "plus recommandé" que les backquote `commande`.
On peut cependant aussi imbriquer avec les backquote

echo `echo \`echo foo\``

Il suffit d'échapper les backquote, ce qui donne un truc illisible certe, mais qui est possible (juste pour info).

Enjoy !


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne