Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir l'écriture de scripts en Bash

Donner les permissions d'exécution

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Découvrez comment donner les permissions pour rendre le fichier exécutable, et comment indiquer en première ligne qu'il s'agit d'un script Bash.
05:29

Transcription

Nous voici de retour sur mon « rm », j’ai bien un « rm » qui existe, vous voyez. Et si je voulais l’exécuter, comment ferais-je ? Alors premièrement, pour qu’un fichier soit exécutable, donc mon script soit exécutable sur Linux, il faut qu’il ait une permission d’exécution. Or, je fais un « ls-l » pour la dernière fois. La prochaine fois vous me verrez faire un « ll ». C’est quand même plus pratique, c’est donc un alias qui est défini dans le fichier de configuration Bash sur cette machine. Je vois que «rm » a des permissions de lecture et d’écriture mais il n'y a pas la permission d’exécution. Je vais déjà ajouter ça. Je vais changer les permissions. Je vais dire seulement pour l’utilisateur, j’ajoute la permission d’exécution. Et à quoi ? À « rm ». Maintenant si je regarde, la couleur a changé, la couleur verte indique que c’est un exécutable. Et il est bien exécutable, il a la permission « x » pour l’utilisateur, ce qui veut dire pour moi en l’occurrence. Donc je peux faire un « rm ». Ça change quelque chose ? Non ça ne change rien parce qu’on a un chemin d’accès et donc la priorité va être de prendre le « rm » qui se trouve, vous vous souvenez, dans usr/bin/rm Pourquoi ? Parce que si je regarde ma variable d’environnement qui s’appelle PATH. Le chemin de recherche des exécutables, il se trouve qu’on commence par chercher dans usr/local/bin ensuite on cherche dans usr/local/bin et on cherche dans usr/sbin et dans usr/bin et dans root/bin Donc on ne cherche pas du tout ici. Et en plus on cherche dans cet ordre. Donc qu’est-ce qu’on va trouver en premier ? Quelque chose que se trouve dans usr/bin. Et la commande « rm » s’y trouve. Donc il faudrait que j'ajoute un répertoire, ou mon répertoire personnel dans ce chemin. Mais ce qu’on fait en général c’est, qu’on va exprimer explicitement ici, la position. Aussi pour des raisons de sécurité. C’est pour ça que ça existe. Parce qu’il serait très simple à un malfaiteur, de positionner dans votre répertoire un fichier « rm ». Et vous vous n’êtes pas au courant. Vous saisissez « rm » en croyant que vous allez supprimer quelque chose, mais en fait, c’est un script malveillant, un programme malveillant, qui va faire quelque chose sur votre machine. Donc pour cela, la règle de sécurité de base c’est qu’on a ici dans notre Path, uniquement des chemins qui pointent sur des exécutables systèmes. Et ensuite c’est à nous de dire, il faut que j’exécute un script qui s’appelle « rm » et qui se trouve à cet endroit précisément. Ici ça a marché. J’ai appelé maintenant le bon «rm» puisque je l’ai explicitement appelé à l’endroit où il se trouve. Notez que vous n’avez pas forcément besoin de lui donner des permissions d’exécution. C’est quand même quelque chose qu’on fait la plupart du temps mais si j’enlève, la permission d’exécution, et je ne l’ai plus. Ceci ne fonctionnera plus. Permission non accordée. Par contre ce que je peux faire c’est utiliser la commande bash, pour dire tu vas exécuter ce qui se trouve dans le script. Et là ça fonctionne. Ce n’est quand même pas pratique. Ce qu’on veut en général c’est créer un script qui est appelable et appelé comme tout exécutable finalement. Donc on lui donne en général les permissions d’exécution. Que ce soit pour quelqu’un ou bien pour tout le monde, « all » Et ensuite on l’appelle directement. Et ce qu’on fait en général aussi, dans un système Linux, c’est qu’on met à la première ligne de notre fichier de script, ce qu’on appelle le shebang, qui va indiquer quel est l’interpréteur du script, quel programme faut-il utiliser pour interpréter ce script. Ici on va dire que c’est le Bash. On va regarder où il est. On va faire un whereis bash On voit qu’il est dans usr/bin/bash Donc on se garde ça en tête. Je vais utiliser VI donc « vim » pour éditer mon fichier « rm ». Et ici en première position, je vais dire, donc shebang ça permet de s’en souvenir. On a un « # » on a ensuite un « ! » c’est-à-dire un point d’exclamation. Et on dit usr/bin/bash. J’ai déjà oublié, donc je vais faire comme ceci, je vais ouvrir un shell, et je suis dans usr/bin/bash. OK. Je reviens. usr/bin/bash c’est très bien. Je sauvegarde. Donc double « Z » majuscule en « vim » pour sauvegarder. Vous pouvez vous référer à la formation sur « vim » qui est au catalogue. Et puis je recommence, ça ne va pas changer grand-chose. Là à l’occurrence ce sera toujours coucou. Mais imaginez que vous avez écrit un script dans un autre langage de shell, par exemple en C shell. Ou même en Phyton ou en Perl. La lecture de cette première ligne, la lecture du shebang ici, aura permis au Bash d’appeler le bon interpréteur de ce script.

Découvrir l'écriture de scripts en Bash

Prenez en main l'écriture de scripts en Bash. Recevez et traitez les paramètres envoyés à vos scripts, manipulez des variables, découvrez les fonctions intégrées du Bash, etc.

1h41 (22 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :21 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !