PACK : Scripts SHELL


  • Magazine Papier
  • Flipbook (liseuse HTML5)


  • Magazine Papier
  • Flipbook (liseuse HTML5)

Maîtrisez la programmation de SCRIPTS SHELL


SOMMAIRE :

 

PROGRAMMEZ votre premier SCRIPT SHELL : Bien plus qu'un simple fichier de commandes

p. 08    Écrivez votre premier script « Shell »

 

PROGRESSEZ dans l'écriture de scripts grâce aux structures de contrôle et à la gestion de processus

p. 44    Utilisez les structures de contrôle et autres mécanismes de la programmation « Shell »
p. 76    Gérez vos processus et sous-processus

 

MAÎTRISEZ les bonnes techniques et utilisez les fonctions avancées du shell bash

p. 90    Découvrez les fonctionnalités avancées du « Bash » et les bonnes pratiques

 

BONUS

p. 112   Mise en pratique : réalisation d’un outil de contrôle de qualité de scripts « Shell »

 

 

Préface :

 

Avec le succès de Linux et le besoin croissant d’automatisation dans la gestion de systèmes informatiques – en particulier le fameux « Cloud »– l’utilisation de scripts « Shell », que certains auraient bien aimé voir décroître ou même complètement disparaître, est, au contraire, encore plus d’actualité aujourd’hui. Qu’il s’agisse d’automatiser des tâches répétitives, de concevoir des installations de logiciels ou systèmes entièrement automatisés - ou même simplement de créer des procédures fiables pour exécuter des tâches récurrentes, les scripts « Shell » font encore partie du paysage aujourd’hui. Néanmoins, leur apprentissage n’est pas toujours systématique dans les filières de formation professionnelle, et les concepts inhérents aux mécanismes d’interprétation et à la syntaxe du « Shell » laissent souvent perplexes les développeurs (plus habitués au paradigme de la programmation procédurale, objet ou même fonctionnelle) comme les administrateurs de systèmes (qui, de leur côté, sont simplement moins habitués à la programmation en général).

Ainsi, pour de nombreux utilisateurs et concepteurs de scripts « Shell », l’outil reste souvent cryptique, et de nombreux scripts sont donc de fait souvent mal conçus, mais aussi parfois remplacés par d’autres technologies, plus familières, mais au final beaucoup moins adaptées. À titre d’anecdote, un de mes collègues développeur Java, a émis il y a un peu la possibilité de remplacer les scripts « Shell » de lancement d’un de nos produits Java par un (autre) programme Java, dans le but de supprimer ces derniers. L’idée, assez absconse, venait surtout d’un manque de connaissances de la syntaxe et des capacités du « Shell », et d’une impression que le « Shell » est « compliqué » et surtout peu fiable.

C’est loin d’être le cas ! Le « Shell », lorsque l’on en comprend bien les mécanismes, est au contraire un langage complet, puissant, mais disposant aussi de tout ce qui est nécessaire pour réaliser des scripts fiables. C’est donc tout l’enjeu de ce hors-série : présenter à son lecteur, de manière très complète et didactique, les mécanismes de contrôle et les bonnes pratiques. Ceci pour s’assurer que le lecteur, à l’issue de ce hors-série, se sente confiant dans sa maîtrise du langage, mais dispose aussi de tous les outils nécessaires pour réaliser des scripts efficaces, mais aussi robustes... Et tout cela en seulement quelques heures ! :)

 

 

                                                                                     Romain Pelisse
                                                                                     Relecture par Pauline Durand-Mabire

 

Remerciements

Ma formation à« Unix » et à la programmation « Shell » doit beaucoup à l’excellent cours que donnait M. Sylvain Baudry, à l’ESME Sudria [1], dans le cadre des enseignements délivrés par le département informatique mené par M. Jean-Pierre Petit. Je souhaite donc tout naturellement leur dédier, à tous les deux, ce hors-série.

En outre, il est important de signaler au lecteur que le « polycopié » de M. Sylvain Baudry, un ouvrage très complet, entièrement en français, a été publié[2], sous une licence « GNU General Public License v2», et peut être librement téléchargé (au format PDF) ou consulté en ligne. Il forme une excellente référence complémentaire pour le lecteur.

Et, le lecteur déjà confirmé, et amateur de LaTeX est bien sûr invité à contribuer au projet... :)

 

[1] ESME Sudria : http://www.esme.fr/

[2] Le projet « Unix Initiation » sur GitHub : https://github.com/belaran/free-docs/

Scripts Shell

Bonnes pratiques et techniques avancées


SOMMAIRE :

Actus

p.06 Sortie de la version 3.1 du moteur de jeu Open Source Godot
p.08 Côté livres...
p.10 Réflexion sur l'apprentissage de la programmation

Développement

p.14 Centralisez vos petits services Python

Dossier : Scripts Shell

p. 20 Les bases du Shell
p. 44 Maîtrise des expressions régulières avec Sed
p. 60 Édition de flux de données avec Awk
p. 74 Bonnes pratiques et outils pour vos scripts
p. 88 Cas pratique : automatisation du paramétrage d’une suite de tests

Témoignages

p.98 L'importance des scripts Shell dans le milieu professionnel, entretien avec Oliver Falk, responsable technique de compte chez Red Hat

Décryptage

p.102 Retour d'expérience sur l'étude de la base MNIST pour la reconnaissance de chiffres manuscrits

Préface :

Pour être en accord avec l’air du temps, nous aurions pu choisir un autre titre pour ce hors-série et les articles qu’il contient. Voici ce à quoi vous avez échappé :

« Il essaye d’écrire un script Shell, ça tourne mal... »

« Découvrez ces 10 astuces que les développeurs de scripts Shell veulent vous cacher... la troisième va vous laisser sans voix ! »

« Écrire un script Shell en 3 secondes ? Oui, c’est possible grâce à un savoir ancestral ! »

« Entretien : ce qui est arrivé à ce développeur de scripts Shell est tout simplement ahurissant ! »

« Impressionnant ! Il écrit un script Shell et devient millionnaire ! »

Vous avez remarqué comme ces titres racoleurs, réservés jusqu’à présent à une certaine catégorie de sites connus pour leur tendance à faire dans le sensationnalisme, ont tendance à se propager à des sites de médias plus « respectables » ? On les retrouve même dans nos quotidiens ou nos magazines. Alors certes, la presse ne se porte pas très bien, les ventes chutent continuellement, mais peut-être faudrait-il conserver un minimum de professionnalisme et de sens critique. Il y a quelques semaines j’ai été fort intrigué par un titre d’article d’un quotidien régional qui était de la forme « Tuerie de XXX : 105 ans de prison pour les accusés ». 105 ans ? Pourtant le fait divers se déroulait en France et non aux États-Unis ! J’ai donc lu l’article et découvert qu’il y avait en fait six prévenus, que quatre d’entre eux avaient écopé de 20 ans de prison, un autre de 15 ans et un dernier de 10 ans. Bravo : 4 x 20 + 15 + 10 = 105, bel exemple de résumé journalistique !

On peut également trouver des punchlines « amusantes » sur certains magazines (les punchlines ce sont ces filets mis en avant sur les couvertures). Par exemple, pour un magazine de pêche : « Le seul magazine écrit par et pour les pêcheurs ». On se rend compte par la suite en lisant le magazine que dans lesdits « pêcheurs » il y a un gamin de 15 ans (« aux âmes bien nées la valeur n’attend point le nombre des années », certes, mais malheureusement ce n’est pas toujours le cas), un journaliste (spécialisé dans la pêche, mais pas pêcheur), que le rédacteur en chef de par sa formation et son expérience ne doit pouvoir prétendre qu’au titre de « pêcheur de girelles » (les girelles sont ces petits poissons de roche qui viennent manger n’importe quoi, une sorte de « rat des mers » que n’importe qui peut attraper pour peu qu’il dispose d’un hameçon, d’un bout de fil et d’un appât quelconque).

Attirer le lecteur à tout prix, voilà ce à quoi certains « journalistes » en sont réduits. Dans GNU/Linux Magazine, nous n’avons pas besoin de ça : faites une recherche sur Internet sur nos auteurs et vous verrez s’ils pêchent des girelles ou s’ils écrivent des scripts Shell...


Tristan Colombo


Si vous vous apercevez à la lecture de ce hors-série qu’il vous manque quelques bases de développement en script Shell, vous pouvez vous reporter à notre hors-série n°89 « Maîtrisez la programmation de scripts Shell » disponible sur notre boutique (https://boutique.ed-diamond.com) ou notre plateforme Connect (https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMFHS-089).

Acheter ce pack


Référence : P1U

18,61 €

25,27 €

Nouveaux produits