salut à tous c'est Floriant d'y Connect
dans cette nouvelle vidéo nous allons
continuer notre découverte notre
apprentissage du scripting bâche puisque
nous allons voir comment créer un menu
interactif en bâche donc un script que
l'on va pouvoir ensuite exécuter sous
Linux et qui va nous permettre de faire
un ensemble de choix au moment de
l'exécution donc pour cela on va
utiliser à la fois les instructions
SELECT et read et on verra notamment que
l'instruction Select est
particulièrement utile dans ce cas de
figure puisquelle nous permet de faire
un choix parmi une liste d'options alors
si vous souhaitez en savoir plus c'est
bien n'hésitez pas à regarder la suite
de la vidéo mais avant cela pensez à
vous abonner à la chaîne Youtube it
Connect me voici connecté sur une
machine Linux où j'ai déjà préparé
quelques scripts que je vais vous
montrer tout en sachant que tous les
scripts que je vais vous expliquer vous
montrer pendant cette démonstration vous
pouvez les retrouver sur it connect.fr
dans l'article qui est associé à cette
vidéo donc je vous mettrai le lien dans
la description nous allons sans plus
attendre commencer par un script qui
s'appelle menu 1.sh donc voici le code
en intégralité alors l'idée c'est bien
sûr de vous expliquer ce code pour que
vous puissiez et bien le comprendre et
derrière et bien l'adapter le réutiliser
à votre guise donc on a une première
variable ici qui s'appelle PS3 donc ce
n'est pas un nom qui a été choisi au
hasard c'est une variable qui va
permettre de définir et bien le texte
qui va s'afficher dans le prompte de
notre menu et donc en fait quand on va
avoir fait notre choix et bien le choix
c'est-à-dire le numéro d'option qu'on a
choisi sera visible euh enfin sera
accessible via la variable ici dollar
reply euh qui est elle aussi une
variable on va dire automatique au
niveau enfin spécial au niveau de bâche
et donc on va définir notre liste
d'options qui sera généré de façon
automatique à l'affichage par notre
Select et bien on va définir l'option
comme ceci option égale et entre
parenthèse on va venir mettre chacune de
nos options avec du coup des gumets à
chaque fois et un espace entre chaque
option et ça du coup bah cette option là
correspond au choix numéro 1 celle-ci au
choix numéro 2 et cetera et ensuite
c'est là qu'on va utiliser le Select
donc le Select on va du coup analyser le
choix voir s'il est bien dans le tableau
de qu'on a défini ici et on va analyser
avec le CASE tout ça donc ça veut dire
que si on a choisi l'option numéro 1 on
va exécuter tout le code qui est ici
alors que si on a fait le choix numéro 2
ce sera tout le code qui est là et on a
la même chose jusqu'au choix numéro 5
puisque nous avons ici une 2 3 4 5
options la dernière option est en quitté
c'est pour ça qu'on a ici le break et on
va simplement écrire echo exit et ce qui
est important c'est ici à la fin on a le
étoile parenthès ce qui veut dire que
c'est pour toutes les autres options
toutes les toutes les tous les autres
choix que l'on ne gère pas et bien on va
quand même retourner un message par
défaut c'est un petit peu voilà le le
l'option par défaut et bien c'est
celle-ci euh et à la fin on a bien voilà
du coup le case qui se finit de cette
façon et le dou bah qui se termine avec
un don donc une fois qu'on a fait ça et
bien ce qu'on se rend compte c'est qu'à
chaque fois fois dans chaque choix et
ben on va pouvoir indiquer un code
particulier donc ici le choix numéro 1
c'est la version du système donc on va
récupérer en fait la version du noyau
donc on va exécuter une aim t a pour
avoir des informations sur l'espace
disque ça sera df- voilà on va pourcevir
un petit outil comme ça et en fonction
du choix qu'on fait on va afficher telle
ou telle information donc on va sans
plus attendre le lancer pour voir ce que
ça donne ce fameux code en pratique donc
voilà je fais menu 1.sh bien entendu
avant il faut faire un ch mode+ X pour
rendre exécutable ce fichier Bâ donc là
j'ai mon menu qui apparaît euh par
rapport en fait aux options que j'ai
définies si je mets par exemple l'option
une je fais rentrer il me il me retourne
donc version du système c'est bien mon
texte que j'avais mis dans un echo et le
résultat de la commande uname- a si je
fais ensuite 3 ben voilà il me retourne
bien ça si je fais par contre 50 voilà
il me dit option invalide ve veuz
réessayer et si je fais l'option 5 pour
quitter et bien j'ai bien quitter mon
programme alors qu'à chaque fois sinon
il me redemande en book jusqu'à ce que
je quitte on va maintenant s'intéresser
à un deuxième exemple alors toujours
basé sur le Select en fait j'ai repris
le même code à la différence que ici on
va ajouter en plus une gestion des
couleurs on va pouvoir ajouter un petit
peu de couleur dans les retours consoes
notamment euh ici bah voilà quand on va
afficher version du système dans la
console ou espace disque ou
configuration IP et bien on va colorer
ça en vert donc on va pour ça qu'on va
utiliser ici une variable qui s'appelle
green pour du vert le NC permet
d'annuler toute la coloration code et de
retourner du coup sur un un texte
classique par défaut euh et on va avoir
du coup ça à chaque fois quand je fais
excit c'est du yellow donc du jaune et
quand je mets une option invalide et
bien ce sera du rouge alors comment sont
définies ces couleurs et bien elles sont
définies avec les variables qui sont ici
nous utilisons en fait ici des codes
d'échappement ans alors en fait ce qu'il
faut bien comprendre c'est que la seule
valeur que vous devez modifier pour
changer véellement la couleur et bien
c'est ici le voilà 31 à 32 33 ça ça vous
permet directement de jouer sur la
couleur pour voilà je passer du du rouge
au vert au jaune et le NC étant aucune
couleur on remet un petit peu les choses
par défaut donc c'est pour ça qu'on a
pas du tout de de 33 m ou 32 m ou autre
chose donc après pour trouver les
couleurs bah vous pouvez changer ces
valeurs là moi j'en ai défini que quatre
enfin en tout cas il y a aucune couleur
donc il le NC qui est une valeur là que
vous devez vraiment utiliser de cette
façonl et le NC du coup va permettre et
bien à chaque fois de remettre la valeur
par défaut donc on va le mettre en
pratique ce ce petit script je vous
rappelle que pour rendre exécutable un
script on fait un ch mode et on met le
nom du fichier derrière voilà comme ceci
je vais donc le lancer et donc là j'ai
pas de couleur pour l'instant c'est
normal si je mets déjà une valeur qui
n'existe pas voilà j'ai bien cette
fois-ci un message en rouge euh si je
mets par contre le numéro 2 que je n'ai
pas encore essayé et bien j'ai mon
espace disque ici qui apparaît bien en
vert et si je fais l'option 5 et j'ai
bien mon exit qui apparaît voilà en
jaune orangé ENF en tout cas ça a bien
été coloré à ce niveau-là donc on a fait
une petite évolution au niveau de notre
menu maintenant intéressons-nous au
troisème script que je vous ai préparé
qui lui n'utilise pas du tout le Select
on va en fait utiliser le readid le read
qui permet de faireun saisie utilisateur
directement en bâche donc là j'ai
intégré aussi cette notion de couleur à
la différence du select où on a le le
tableau d'option on va dire qui est
généré automatiquement quand on exécute
le script on a plus qu'à faire un choix
avec un numéro et bien lui le read il ne
gère pas tout ça ce qui veut dire avec
des des instructions echo et bien on est
obligé de dire bah voilà le choix numéro
1 c'est voir la version de système le 2
et cetera on est obligé de constituer
nous-même ce menu en fait et après une
fois qu'on a récupéré et bien le on a
fait le rid choix et bien on passe la
variable dollar choix dans un case et du
coup on va pouvoir l'analyser et voir
bien quelle est la valeur qui a été
saisi pour le reste ça reste totalement
identique donc c'est simplement ce qui
change entre le Select et le read c'est
la manière dont on va gérer la saisie
utilisateur la récupération du choix
utilisateur dès le début et l'affichage
des options mais là du coup ça nous
offre la possibilité aussi de jouer un
peu plus sur les couleurs sur la mise en
forme donc voilà ça peut être
intéressant on va lancer ce script là
voilà il faut bien sûr lui mettre les
droits d'exécution cette fois-ci on voit
que mon menu est un petit peu plus
coloré puisque je l'ai totalement
personnalisé en amont donc je vais
mettre par exemple l'option numéro 3
pour avoir la configuration IP voilà
elle apparaît bien l'option numéro 4
pour avoir la date du dernier
redémarrage de la machine voilà ça me
retourne bien l'information donc j'ai
mon menu qui apparaît à chaque fois et
si je mets une mauvaise option ça
paraarît bien en rouge et si je fais 5
j'ai bien le exit qui également donc on
a retrouve à peu près le voilà le même
fonctionnement soit avec un select soit
un readid le Select me semble quand même
plus adapté mais on peut atteindre le
même objectif avec un read en le
couplant avec un certain nombre d'éco
pour afficher un menu si vous souhaitez
aller plus loin dans la création de menu
sachez qu'il existe d'autres outils que
vous pouvez utiliser notamment pour
faire vraiment des menus interactifs
avec des boîtes de dialogue et cetera
donc dans ce cas-là il y a par exemple
notamment le paquet dialogue que vous
pouvez utiliser qui permet d'avoir des
rendus comme ceci qui sont pas sans
rappeler notamment l'installation de
certaines appli tion au niveau de Linux
et vous avez aussi donc ce whiptail ici
un autre paquet qui permet du coup de
créer aussi des des bottes de dialogue
donc vraiment là c'est pareil ce n'est
pas sans rappeler ce qu'on peut
retrouver avec certaines Programm
d'installation et donc ça vous
permettrait d'aller plus loin comme on
le voit avec des boîtes de saisie voilà
pas mal de choses assez sympas tout
dépend ce que vous souhaitez faire en
fait avec voilà avec votre menu
interactif avec votre script batch mais
c'est une possibilité si ce que je viens
de vous montrer et bien finalement ne va
pas assez loin par rapport à ce que vous
cherchez à faire d'Urs n'hésitez pas à
me dire ça pourrait vous intéresser
qu'on aille un peu plus loin dans la
création de menu notamment en apprenant
à utiliser les les outils que je viens
de vous montrer pour le moment bien nous
sommes déjà arrivés à la fin de cette
vidéo n'hésitez pas à parcourir la
chaîne Youtube it Connect il y a
d'autres vidéos sur le scripting bash
ainsi que sur d'autres sujets n'hésitez
pas également à commenter à partager
cette vidéo et puis je vous dis à très
vite Ciao
[Musique]