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 15/11/2005, à 10:22

tijiene

[Résolu]Problème lancement d'un fichier executable

bonjour,
au fait ce n'est pas un problème c'est une astuce que je cherche:
quand je viens de compiler un fichier en C, et quand je vais le lancer je suis toujours obligé de mettre " ./ " avant le fichier executable, ça m'embête vraiment de faire ca à chaque fois que je vais lancer un exe.
Il y a un scipt mais je ne connais pas.
Merci d'avance.

Dernière modification par tijiene (Le 15/11/2005, à 18:22)

Hors ligne

#2 Le 15/11/2005, à 10:31

LR

Re : [Résolu]Problème lancement d'un fichier executable

Il faut mettre ton dossier contenant tes exécutable dans ton path non ?

Hors ligne

#3 Le 15/11/2005, à 11:15

tshirtman

Re : [Résolu]Problème lancement d'un fichier executable

oui et pour que ça se fasse automatiquement quand tu lance un terminal, tu peut rajouter la commande a la fin de to fichier .bashrc

Hors ligne

#4 Le 15/11/2005, à 15:11

tijiene

Re : [Résolu]Problème lancement d'un fichier executable

Je reformule ma question,
par exemple j'ai un fichier toto.c
je le compile
:$gcc -Wall -pedantic toto.c -o toto
et apres je le lances
:$./toto
donc est ce qu'il y a un moyen de lancer toto sans le ./ avant?
Je ne vais quand meme pas copier tous les fichiers compilés dans le PATH quand meme.
Donc ce que je voulais c'est
:$toto
c'est tout sans le ./avant.
Merci

Hors ligne

#5 Le 15/11/2005, à 15:28

eldadou38

Re : [Résolu]Problème lancement d'un fichier executable

Salut,

  Ben, normalement si ton fichier à des droits d'execution pour le user adéquate pas besoin du ./, me semble-t-il.

  Ex : ftp ou sftp (/usr/bin en général) (binaire) droit execution pour tout le monde.

  (pas troll) tongue

A+
El Dadou.


In Ubuntu I trust

Hors ligne

#6 Le 15/11/2005, à 15:53

benjou

Re : [Résolu]Problème lancement d'un fichier executable

sudo ln toto /usr/bin/toto

tu cree un lien dans le path (/usr/bin) avec comme cible ton binaire toto (il faut lancer cette commande depuis le dossier ou se trouve toto


écrasons l'infâme

Hors ligne

#7 Le 15/11/2005, à 16:21

teddyber

Re : [Résolu]Problème lancement d'un fichier executable

enfin c'est mieux de faire un lien dans le ~/bin et de mettre ce dernier dans le path. c'est moins goret. (enfin quand l'executable n'a pas besoin d'être lancé par tout le monde)

remarque quitte à faire goret, autant rajouter "." dans le PATH (ça marche ça d'ailleurs ? je me demande)

Hors ligne

#8 Le 15/11/2005, à 17:28

tijiene

Re : [Résolu]Problème lancement d'un fichier executable

A la fac, comme on fait plusieurs exo sur le langage C, et que en plus j'ai pas le droit d'ecrire dans le /usr/bin.
Quel script dois je mettre dans mon .bashrc qui se trouve dans mon home pour pouvoir faire ça?
ALors si j'ai plusieurs fichiers en C et que je les compiles suis toujours censé mettre des liens dans mon bin? et apres je me retrouverais avec exo4.c, exo6.c et ....... dans mon bin, c'est du délire ça?
Je maitrises pas trop la manipulation des scripts donc si un connaisseur peut bien m'aider.
Encore merci

Hors ligne

#9 Le 15/11/2005, à 17:45

teddyber

Re : [Résolu]Problème lancement d'un fichier executable

mettre ./ devant l'executable est normal sous unix.

imagine que l'on ne soit pas obligé (comme sous dos par exemple) et que le repertoire courant soit parcouru par défaut à la recherche de la commande. si je suis malveillant et que je dépose un fichier "ls" dans un répertoire et que c'est en fait un script qui fait un "rm -f *" ou bien même "rm -f /", t'es bien marron.

donc
-soit tu mets ./ devant le nom de l'executable
-soit tous tes executables que tu compiles sont dans un même repertoire et tu l'ajoute au path : "export PATH=$PATH:/home/user/mon_rep"
-soit tu rajoute ~/bin au path (export PATH=$PATH:~/bin) et tu fait des liens (ln toto ~/bin/toto) après avoir compilé

Hors ligne

#10 Le 15/11/2005, à 20:41

Uggy

Re : [Résolu]Problème lancement d'un fichier executable

Le . represente le répertoire dans lequel tu es...
si tu lance juste toto, tu n'indiques aucun chemin, et il cherche dans le PATH... (comme indiqué dans les posts precedents)
si tu es dans  /tmp  alors faire ./toto  signifie faire /tmp/toto (puisque le . represente le répertoire dans lequel tu es...)
donc en gros, le . c'est super pratique puisque tu n'as pas tout le chemin a retaper.. !!merci le . !!

Si vraiment c'est trop compliqué de taper ./ alors oui rajoute ton répertoire au PATH comme indiqué au dessus..

Hors ligne