Comande script et PATH
Résolu
Night91
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Night91 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Night91 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je débute en scripts sous linux, j'ai un soucis pour exécuter un script en donnant son nom (sans préciser le chemin ou sans taper "./" devant le nom du script)
Voici ce que je fais dans la console :
Voilà mon script qui affiche "Test" ne fonctionne que si je tape le chemin ou le "./" quand je suis dans le répertoire du script. Pourtant la variable PATh contient le chemin du répertoire contenant le script.
Ai je fais une erreur quelque part ? La synthaxe est bonne pourtant (enfin je crois)
Ai je oublié une manipulation ?
Quels sont les conditions pour que PATH fonctionne correctement?
Voici ce que je fais dans la console :
kevin@kevin:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games kevin@kevin:~$ export PATH=$PATH:/home/kevin/scripts kevin@kevin:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kevin/scripts kevin@kevin:~$ cd /home/kevin/scripts kevin@kevin:~/scripts$ ls -l total 8 -rwxr--r-- 1 kevin kevin 36 2010-04-11 22:50 test -rwxr--r-- 1 kevin kevin 34 2010-04-11 22:50 test~ kevin@kevin:~/scripts$ chmod u+x test kevin@kevin:~/scripts$ ls -l total 8 -rwxr--r-- 1 kevin kevin 36 2010-04-11 22:50 test -rwxr--r-- 1 kevin kevin 34 2010-04-11 22:50 test~ kevin@kevin:~/scripts$ ./test Test kevin@kevin:~/scripts$ test kevin@kevin:~/scripts$ cat test #! /bin/bash echo "Test" #kevin@kevin:~/scripts$ kevin@kevin:~/scripts$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kevin/scripts kevin@kevin:~/scripts$ pwd /home/kevin/scripts kevin@kevin:~/scripts$ test #kevin@kevin:~/scripts$
Voilà mon script qui affiche "Test" ne fonctionne que si je tape le chemin ou le "./" quand je suis dans le répertoire du script. Pourtant la variable PATh contient le chemin du répertoire contenant le script.
Ai je fais une erreur quelque part ? La synthaxe est bonne pourtant (enfin je crois)
Ai je oublié une manipulation ?
Quels sont les conditions pour que PATH fonctionne correctement?
A voir également:
- Comande script et PATH
- Script vidéo youtube - Guide
- Path of exile 2 - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Id chinois one piece fighting path - Forum Jeux vidéos smartphones
5 réponses
Salut,
Je n'ai pas Linux sous la main ;-)
Affiche le résultat de
Sous debian la commande test fait partie de paquet coreutils et il se trouve dans /usr/bin
Dans ton PATH /usr/bin est avant le répertoire /home/kevin/scripts , donc c'est celui de /usr/bin qui sera exécuter.
Tu peux essayer de mettre ton script dans /usr/local/bin pour voir.
Je n'ai pas Linux sous la main ;-)
Affiche le résultat de
whereis test
Sous debian la commande test fait partie de paquet coreutils et il se trouve dans /usr/bin
Dans ton PATH /usr/bin est avant le répertoire /home/kevin/scripts , donc c'est celui de /usr/bin qui sera exécuter.
Tu peux essayer de mettre ton script dans /usr/local/bin pour voir.
Oui c'était ca ! Merci beaucoup, c'est vrai qu'il faut faire attention à la manière dont on nomme les fichiers... en tous cas encore merci pour ta réponse rapide et efficace ^^
Re,
Oups, j'ai oublié la commande interne bash ;-)
Mais cette fois ça marche avec l'histoire de nom, toutefois il faut tenir compte d'ordre de recherche dans PATH.
On peut avoir des applications avec le même nom (même si ce n'est pas judicieux) mais en ce cas il faut utiliser le chemin complet pour être sur d'exécuter la bonne commande.
Oups, j'ai oublié la commande interne bash ;-)
Mais cette fois ça marche avec l'histoire de nom, toutefois il faut tenir compte d'ordre de recherche dans PATH.
On peut avoir des applications avec le même nom (même si ce n'est pas judicieux) mais en ce cas il faut utiliser le chemin complet pour être sur d'exécuter la bonne commande.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question