Forum Clubic

Lancement application dans console

Voila, j’aimerai pouvoir modifier mon PATH pour que je puisse lancé une application sans avoir a taper ./
juste taper le nom de laplication sans avoir a saisir le ./ avant
merci

tu peux faire un lien symbolique vers le path où tu as tes binaires.

exemple

ln -s /chemin/de/ton/truc /bin/nom_de_ton_truc

donc en tapant nom_de_ton_truc dans la console, ca fera appel au lien symbolique, qui appellera ton truc en question.

Bien sûr, il faut être root.

j’ai fait ça
ln -s /usr/local/ns-allinone-2.27/ns-2.27 ~/ns-2
Mais ça ne marche pas. pour info j’ai ajouter ça dans mon .bashrc :
export PATH=$PATH:usr/local/ns-allinone/bin:/usr/local/ns-allinone/tcl8.4/unix:/usr/local/ns-allinone/tk8.4/unix

C’est pour le logiciel ns. En fait mème si je suis dans le répertoire courant ou est installer l’appli, je doit faire ./ns pour la lancer.
Je foudrai la lancer juste en ayant a faire ns.

ben ajoute . dans le PATH…

nan,avec les lien symboliques, tu ne peux pas utiliser les chemins relatifs.

Uniquement en chemin absolu :jap:

Tu peux également créer le dossier ~/bin qui est déja dans ton PATH et y placer un lien symbolique.

Tu peux faire un petit fichier qui execute le programme que tu veux et tu le mets dans /usr/bin.
Comme ça c’est reconnu par la console.
En gros tu crées un fichier texte avec dedans ce que tu veux, par exemple “./nomduchemin/programme”, tu le rends executable (chmod +x) et ensuite tu le mets dans /usr/bin/.
J’ai pas linux sous la main là mais ça devrait marcher à mon avis.

pfff… c’est une solution a la noix… faut etre root en plus pour copier des fichiers dans /usr/bin

Non, la bonne solution pour ce qu’il veut est d’ajouter . dans son PATH.

vu qu’aucune restriction n’a été donnée dans le premier post, il n’y a pas de bonne ou mauvaise solution …

modifier le path en conséquence c’est plus propre que d’y aller avec des liens symboliques, mais les deux marcheront bien au vue du premier post qui n’est pas restrictif, donc droit root présumé

excuse moi… on dira qu’il y a des solutions propres et des solutions degueulasses.
Rajouter . dans le PATH est la solution enseignee depuis toujours sur unix pour resoudre ce genre de prob. C’est aussi tres propre, simple a mettre en place, rapide et marche pour toute commande disponible dans le repertoire courant et ca ne pollue pas l’environnement des autres utilisateurs.
Placer un script manuellement dans /usr/bin executant la commande qu’on veut ou en y placant un lien est pas elegant pour 2 sous, “complique”, pose des prob pour les autres utilisateurs du systeme qui voient apparaitre des commandes inutilisables et ca pollue le systeme globalement.
Bref… tu vois les choses comme tu veux mais faut savoir reconnaitre quand la solution qu’on propose est vraiment moins bonne qu’une autre.

KP2 +1. Sans compter que si l’application utilise des chemins relatifs en interne, ça ne marchera pas.

Donc :
solution 1/ Déplace ton application vers /usr/local/bin ou vers /usr/bin (solution 1 équivalente à un make install)
solution 2/ Modifie ton PATH pour ajouter un répertoire utilisateur et deplace ton application dedans. Par exemple :

mkdir ~/bin
export PATH=$PATH:~/bin

Ah ouais c’est peut-être une solution à la noix mais c’est la seule que je connaissais, désolé ^^)
j’essaye de participer ^^)