Découvrir l'écriture de scripts en Bash

Travailler avec les résultats de fonctions

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Le résultat d'une fonction est un statut de retour. Pour envoyer des valeurs plus complexes, il faut passer par la sortie standard.
03:59

Transcription

Alors la question c’est : maintenant, comment est-ce que je peux réutiliser le standard output, c'est-à-dire l’echo qui est généré dans la fonction ici ? Évidement je peux le faire comme je récupère n’importe quelle sortie standard d’une commande externe par exemple en utilisant soit la syntaxe avec des accents, vous vous souvenez, un truc comme ça, soit ma syntaxe $ parenthèses. Je vais prendre la syntaxe $ parenthèses, et puis je peux faire un echo directement, donc ça ne va pas changer grand-chose, ou bien je peux l’utiliser dans un for : for c in etc, do, done. On va faire un echo de chaque élément sauf que, là je suis en train de me perdre dans une stratégie qui va pas me mener bien loin. On va voir pourquoi. Donc je vais dire mon cépage est c, c’est bon. Je n’ai pas besoin de mettre ici de \n puisque je suis pas dans un print f, ça va être fait automatiquement. Donc c’est bon. Pourquoi ça ne me mène pas loin ? Parce que vous voyez j’ai cabernet franc ici. Alors mon problème, c’est que je suis en train de m’envoyer des listes. Ce n'est pas vraiment fait pour ça. On va travailler dans le bash avec des retours qui sont plutôt des chaines de caractère. Il n’y pas de concept natif de liste ou d’objet dans ce que les commandes s’envoient dans l'output standard. Donc il va falloir que je triche. Ici le plus simple serait à partir de ceci ou directement ici d’ailleurs, de me générer une chaine et de faire un output standard Comme ça, je pourrais le récupérer de l’autre côté et puis le traiter, le splitter ensuite correctement. Donc je peux tout à fait faire ça, ça vaut mieux d’ailleurs. Donc je vais arrêter mon echo ici, je le mets en commentaire. Je vais faire un echo d’une variable. Et ici je vais prendre ça, plus... allez on va faire une barre verticale tout simplement. Et déjà avant mon for, j’enlève mon for, donc on fera tout ça après, ce nest pas grave, je vais regarder ce que getCepages me retourne maintenant, pour voir si je suis ok. Donc je suis pas vraiment ok parce que je vais le traiter plutôt comme ça. C’était un peu dangereux ici parce que c’est un opérateur qui est reconnu. Donc je vais plutôt le faire comme ça. Et j’ai quelque chose de correctement séparée. Bon, j’en ai un à la fin, c’est pas très très grave. Je vais corriger ça. Alors pour faire ça, je vais prendre ici ma variable, je vais utiliser la petite magie des gestions de chaine en bash. Je vais utiliser la syntaxe %, je vais indiquer après le % quel est ce que je vais supprimer, et je vais dire ?, juste un caractère, n’importe quel caractère mais un seul. Et donc avec cette syntaxe, je supprime un certain nombre de caractères à la fin. Mais je dis : je veux juste un caractère, n’importe quel caractère, celui que j’ai trouvé. J’aurais pu mettre barre verticale d’ailleurs, mais ça c’est un peu plus générique. On va voir ce que ça nous donne. J’ai enlevé pinot. Vous voyez que c’est quand même assez magique, cela dit, la gestion des chaines en bash. Ça ressemble un petit peu à du Perl. On peut faire des choses très très biens. Notons qu’il y a une autre solution, si vous voulez. Comme ça je vous montre les deux possibilités. À partir de bash 4.2, on a une syntaxe comme ça où on dit : eh bien on va positionner la chaine qu’on veut conserver, et là on va enlever à partir de la fin. Donc je veux faire ::-1, on va voir si ça marche aussi. Et oui, on a le même résultat. Mais bon, ceci est plus traditionnel, plus ancien. Donc pour l’instant je vais garder ça.

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 !