J'utilise linux depuis peu de temps et j'aimerais cree un script shell qui execute un programme en C.
Normalement il suffit de faire ./nomprogramme mais J'ai besoin de donner le chemin complet (par exemple /home/monprogramme). Je ne peut malheureusement pas faire .//home/monprogramme.
Existe il un autre moyen ? Par exemple pour un script bash on peut, a la place de mettre ./monprogramme ecrire bash monprogramme.
tu peux placer ton script dans un répertoire, et mettre le chemin du répertoire dans ton PATH.
tous les scripts dans ce répertoire seront alors accessibles, comme tous les autres programmes (dont le répertoire est dans le PATH : /bin/, /usr/bin/).
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Normalement il suffit de faire ./nomprogramme mais J'ai besoin de donner le chemin complet (par exemple /home/monprogramme). Je ne peut malheureusement pas faire .//home/monprogramme.
Pour exécuter un programme il suffit d'indiquer son chemin absolu ou relatif, c'est tout. Le point ne sert pas à exécuter un programme, ça désigne juste le répertoire courant, celui qui est affiché par la commande pwd. On est obligé de mettre un point lorsqu'on appelle un programme par son chemin relatif pour éviter la confusion avec l'appel des commandes qui sont dans le PATH.
On est obligé de mettre un point lorsqu'on appelle un programme par son chemin relatif pour éviter la confusion avec l'appel des commandes qui sont dans le PATH.
pas tout à fait. le point indique le répertoire courant. si le répertoire (où est le script) n'est pas dans le PATH, il faut en indiquer le chemin absolu (depuis la racine du système de fichier /), ou relatif au répertoire courant. Lorsque le script est immédiatement sous le répertoire courant (qui n'est pas dans le PATH), il faut aussi indiquer un chemin; le plus court étant de dire que c'est le répertoire courant : ./ quand le script est à un niveau inférieur au répertoire courant, on peut se dispenser du ./
$ mkdir test
$ cd test
$ cat > hello.sh
> #!/bin/sh
> echo "Hello World !"
> ^D
$ chmod +x hello.sh
$ ./hello.sh
Hello World !
$ cd ..
$ test/hello.sh
Hello World !
$ $PWD/test/hello.sh
Hello World !
$ export PATH=$PATH:$PWD/test
$ hello.sh
Hello World !
on ne va bien sûr pas modifier le PATH à chaque fois qu'on crée un script, il est donc souhaitable de dédier un répertoire à ses scripts, à l'instar de /bin.
- Edité par dantonq 21 février 2017 à 9:53:02
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
quand le script est à un niveau inférieur au répertoire courant, on peut se dispenser du ./
Hgn.
Après plus de 10 ans d'utilisation de Linux, j'ai un peu honte de découvrir ça aujourd'hui
Blond, bouclé, toujours le sourire aux lèvres...
lancer un script C en console
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Blond, bouclé, toujours le sourire aux lèvres...
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Blond, bouclé, toujours le sourire aux lèvres...