Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Emplacement du fichier de script

Avec les permissions définies, nous pouvons maintenant exécuter notre script :



[moi@linuxbox ~]$ ./Bonjour le monde

Bonjour le monde!

[moi@linuxbox ~]$ ./Bonjour le monde

Bonjour le monde!


Pour que le script s'exécute, nous devons faire précéder le nom du script d'un chemin explicite. Si nous ne le faisons pas, nous obtenons ceci :



[moi@linuxbox ~]$ Bonjour le monde

bash : hello_world : commande introuvable

[moi@linuxbox ~]$ Bonjour le monde

bash : hello_world : commande introuvable


Pourquoi est-ce? Qu'est-ce qui rend notre script différent des autres programmes ? En fin de compte, rien. Notre script est bien. Son emplacement est le problème. De retour au chapitre 11, nous avons discuté de la PATH variable d'environnement et son effet sur la façon dont le système recherche les programmes exécutables. Pour rappel, le système recherche une liste de répertoires chaque fois qu'il a besoin de trouver un programme exécutable, si aucun chemin explicite n'est spécifié. C'est ainsi que le système sait exécuter

/bin/ls lorsque nous tapons ls sur la ligne de commande. Le répertoire /bin est l'un des répertoires que le système recherche automatiquement. La liste des répertoires est contenue dans une variable d'environnement nommée PATH. La variable PATH contient une liste de répertoires séparés par des deux-points à rechercher. On peut voir le contenu de PATH :

Emplacement du fichier de script


[moi@linuxbox ~]$ echo $CHEMIN

/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:

/bin:/usr/jeux

[moi@linuxbox ~]$ echo $CHEMIN

/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:

/bin:/usr/jeux


Ici, nous voyons notre liste de répertoires. Si notre script se trouvait dans l'un des répertoires de la liste, notre problème serait résolu. Remarquez le premier répertoire de la liste,

/accueil/moi/bin. La plupart des distributions Linux configurent la variable PATH pour contenir un répertoire bin dans le répertoire personnel de l'utilisateur, pour permettre aux utilisateurs d'exécuter leurs propres programmes. Donc, si nous créons le répertoire bin et plaçons notre script à l'intérieur, il devrait commencer à fonctionner comme les autres programmes :



[moi@linuxbox ~]$ bac mkdir [moi@linuxbox ~]$ mv hello_world bin [moi@linuxbox ~]$ Bonjour le monde

Bonjour le monde!

[moi@linuxbox ~]$ bac mkdir [moi@linuxbox ~]$ mv hello_world bin [moi@linuxbox ~]$ Bonjour le monde

Bonjour le monde!


Et c'est ainsi.

Si la PATH variable ne contient pas le répertoire, nous pouvons facilement l'ajouter en incluant cette ligne dans notre .bashrc fichier:


export CHEMIN=~/bin:"$CHEMIN"

export CHEMIN=~/bin:"$CHEMIN"


Une fois cette modification effectuée, elle prendra effet à chaque nouvelle session de terminal. Pour appliquer le changement à la session de terminal en cours, nous devons faire relire le shell .bashrc déposer. Cela peut être fait en le « sourcing » :



[moi@linuxbox ~]$ . .bashrc

[moi@linuxbox ~]$ . .bashrc


Le point (.) commande est un synonyme de la la source command, un shell intégré qui lit un fichier spécifié de commandes shell et le traite comme une entrée du clavier.


image

Remarque : Ubuntu (et la plupart des autres distributions basées sur Debian) ajoute automatiquement le

~/bin vers la variable PATH si le répertoire ~/bin existe lorsque le fichier .bashrc de l'utilisateur est exécuté. Ainsi, sur les systèmes Ubuntu, si nous créons le répertoire ~/bin puis que nous nous déconnectons et nous reconnectons, tout fonctionne.


image


 

Meilleur système d'exploitation Cloud Computing chez OnWorks :