bash ./prog => prog - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 23-12-2007 à 01:27:34
bwaa ouai faut qu'il soit dans ton path...
echo $PATH # pour voir lequel qu'il est pour le moment
export PATH=... # tu le rempli si tu veux des trucs spécifiques
c'est l'histoire d'un mec qui fait un export... et PAF LE CHEMIN §§§
Marsh Posté le 23-12-2007 à 02:25:17
PATH=$PATH:./
En gros, Bash devine les commandes en les recherchant dans les répertoires du PATH, ls en vérité c'est /bin/ls.
En mettant ./ dans le PATH, bash cherchera des exécutables dans le répertoire courant.
Après il est possible de faire "PATH=$PATH:./" au démarrage du shell.
Il faut mettre la ligne dans ~/.bashrc et faire un export PATH.
Marsh Posté le 23-12-2007 à 10:39:25
sh monfichierenshell.sh
Marsh Posté le 23-12-2007 à 19:19:16
Cela étant, mettre le . dans le PATH, c'est vraiment la porte ouverte à toute sorte de blagues/bêtises.
Marsh Posté le 23-12-2007 à 20:53:10
Ouais. Moi pour mes trucs perso je préfère me faire un répertoire ~/bin et ajouter ce répertoire à mon PATH.
Marsh Posté le 23-12-2007 à 23:44:46
Gf4x3443 a écrit : Cela étant, mettre le . dans le PATH, c'est vraiment la porte ouverte à toute sorte de blagues/bêtises. |
si c'est en debut de PATH, oui clairement, en fin c'est deja plus discutable, car on ne pourrait utiliser qu'une commande qui n'existe pas dans les autres repertoires, genre une commande avec une faute de frappe...
Ceci etant, je reste d'accord sur le fond, le . dans le $PATH, c'est pas vraiment une bonne idee...
Marsh Posté le 24-12-2007 à 00:24:55
P-Y a écrit : |
Oui, jusqu'au jour ou on fait des shells scripts qui utiliseront des variables construites à partir du contenu d'un répertoire (genre des for i in `ls` , while read...) et on se sera bouffé les doigts sans s'en rednre compte, à chercher pendant des heures pourquoi "ca marche pas".
Ou s'en servir pour merder à vitesse V avec un binaire setuid fait maison qui use de system(3).
J'en parle même pas quand on s'amuse à bidouiller le PATH comme cela pour des daemon.
C'est du plus pur windows. Il y a des manières bien plus élégantes (et rapide en plus) pour tester ses progs de dev sans avoir à bidouiller de la sorte. N'importe quelle version de make fait ca très bien. Enfin bon.
Marsh Posté le 25-12-2007 à 01:06:18
Perso j'ai aussi opté pour un repertoire ~/bin et même un ~/functions .
Le premier pour linker mes scripts d'un repo svn et le deuxieme comme son nom l'indique, pour placer mes fonctions executables appelables dans les scripts.
Marsh Posté le 25-12-2007 à 19:04:13
Personnellement, quand je veux accéder à/exécuter un truc dans le répertoire courant, je mets un ./ devant ! (la solution qu'elle tue !)
Avec l'habitude, même en mettant . dans mon PATH, je ne pourrais pas m'empêcher de mettre un ./ !!
Marsh Posté le 26-12-2007 à 08:51:21
debeman a écrit : |
reviens pas nous voir quand ton programme 'test' ne marchera pas.
Marsh Posté le 23-12-2007 à 01:21:37
Bonjour a tous, je viens d'installer ubuntu sur mon portable et pour executer un programme dans le bash je suis oblige de mettre ./ devant
j'aimerais savoir s'il était possible de ne pas mettre les ./ sur ubuntu
depuis le debut de l'année scolaire je programme sur des TX (terminaux unix ) dans mon école ( ensimag ) et pas besoin de mettre le ./ pour exec un programme donc ca me perturbe beaucoups
qq1 aurait-il une idée svp?