Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
pourquoi faire un ./ des fois, et des fois non...
Envoyé par: mattm

salut je suis assez nouveau sur linux.
j'ai commencé a étudier le shell avec un bon bouquin, et je commence a comprendre un peu l'esprit de UNIX...
mais il y a un truc qui reste flou:
pourquoi des fois on lance une commande avec "./" et des fois non
initialement je croyais que le "./" était destiné à lancer des scripts, mais en compilant une appli ce matin, j'ai vu qu'il fallait lancer le binaire avec "./" également. d'ou mon incomprehension sur la question :p
on peut apparement lancer des trucs avec ".'espace'/". si j'ai bien compris c'est pour lancer un truc qui normalement se lance avec un "./" mais à l'intérieur d'un nouveau context de shell. c'est bien ça?
voila si quelqu'un peut m'éclairer...
merci!

Poste le Friday 5 December 2008 11:55:47
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...

Le ./ pour une commande la fait exécuter même si le répertoire courant n'est pas dans $PATH

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 5 December 2008 14:53:36
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...
Envoyé par: nicola

Et il est clair que mettre . dans PATH est un beau trou de sécurité.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Friday 5 December 2008 15:10:06
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...
Envoyé par: mattm

merci les gars pour vos réponses!
donc en clair, on lance toujours un executable ou un script avec "./"
et si le dossier ou il se trouve est dans PATH, alors on peut faire sans le "./" :-)


Poste le Friday 5 December 2008 15:38:00
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...

Citation
mattm
donc en clair, on lance toujours un executable ou un script avec "./"

Non, pas du tout. Idéalement il ne faudrait jamais mettre le ./ - sauf dans les rares cas où on a une bonne raison de le faire. Personnellement ça m'arrive très rarement!

Essaies d'apprendre ce qu'est le PATH, et ce que fait la fonction execvp. C'est amplement documenté!

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 5 December 2008 15:59:51
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...
Envoyé par: P Hoquet

Si le script n'est pas dans le PATH:
soit tu vas où il est et tu le lances avec ./script
soit tu tapes le chemin complet vers ce script par exemple /home/toto/programmes/mon_script

Poste le Friday 5 December 2008 22:18:07
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...
Envoyé par: mattm

merci pour vos réponses
Encore une petit question
J'ai vu que des fois certaines commandes sont lancés par "sh"
genre "sh commande"
J'ai pu voir que sh est le "Bourne Shell". Mais pourquoi lancer des commandes en Bourne Shell quand on est deja dans un shell d'un autre type.....
merci!

Poste le Monday 8 December 2008 10:53:13
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...
Envoyé par: AlSim

sh n'est rien d'autre que ce vers quoi pointe /bin/sh (ou autre). Chez moi il pointe vers bash (Bourne Again SHell).

L'intérêt de lancer une commande préfixée de sh est multiple, entre autres que bash appelé avec la commande sh se comporte différemment (mode de compatibilité).

Quand tu lances avec "./shell.sh" un fichier shell.sh qui commence par #!/bin/sh tu fais exactement la même chose sinon...

[catwell.info]

Poste le Monday 8 December 2008 19:30:43
Répondre     Citer    
Re: pourquoi faire un ./ des fois, et des fois non...
Envoyé par: mattm

Salut Alsim, et merci pour ta réponse
j'ai tout compris! impeccable

Poste le Thursday 11 December 2008 15:13:00
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
pourquoi faire un ./ des fois, et des fois non...
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons