Shell avancé

Présentation

Exploiter les outils de la ligne de commande dans un script, afin d’automatiser des tâches d’administration et de surveillance. Cette formation vous permettra de créer des scripts UNIX d’une grande qualité.

Public et Pré-requis

Pour suivre cette formation, il est conseillé de connaître les commandes systèmes d’un environnement UNIX ou Linux. (cp, ls, vi, grep, …).

Dates

Autres Dates, nous contacter.

Durée

3 jours

Contenu de la formation

 

1. Introduction

  • Le rôle du shell
  • Les différents shells
  • Les fonctionnalités des différents shells

2. Le rappel de commandes

  • Rappel de commandes, le mode vi
  • Rappel de commandes, le mode fc
  • Rappel de commandes, le mode emacs
  • Paramétrage du rappel de commandes

3. Utilisation du shell en interactif

  • Les jokers
  • Les caractères d’échappement
  • Les redirections (>,>>)
  • Les redirections (<)
  • Les redirections (2>)
  • Les redirections, les tubes (|)
  • Les redirections (>|) ksh
  • Le remplacement de commandes
  • Panorama des caractères spéciaux

4. Les scripts shell

  • Le principe des scripts
  • Les commentaires
  • Exécution d’un script
  • La mise au point
  • Les options du shell
  • Affichage de messages : echo, print (ksh)

5. Les variables

  • BA-ba sur les variables
  • Les variables du shell
  • L’environnement
  • Les variables d’environnement
  • Le fichier ‘profile
  • Les paramètres (1/2)
  • Les paramètres (2/2)
  • L’instruction read
  • Le remplacement de variables
  • Les tableaux (ksh)

6. Les instructions de contrôle

  • if : l’alternative
  • Le code retour
  • L’alternative avec les opérateurs && et ||
  • La commande test
  • case : le choix multiple
  • while : la boucle tant que
  • until : la boucle jusqu’à ce que
  • for : la boucle « pour telles valeurs, faire »
  • break, continue : les sauts inconditionnels

7. Les alias et les fonctions

  • Généralités sur les alias (ksh)
  • Alias particuliers
  • Sous-programme sous forme de script
  • Sous-programme sous forme de fonction
  • Echange de données
  • Les bibliothèques de fonctions (ksh)

8. L’arithmétique

  • expr : utilisation en arithmétique
  • L’arithmétique en shell POSIX
  • Les boucles
  • La commande bc

9. Les expressions régulières

  • Rappel de l’utilisation de la commande grep
  • Les méta-caractères des expressions régulières
  • Mise en œuvre des expressions régulières avec grep
  • Les possibilités de egrep
  • Les possibilités de GNU grep

10. Les chaînes de caractères

  • expr : manipulation de chaînes
  • Les expressions de variables
  • Affectation de chaînes avec typeset (ksh)
  • Les commandes basename et dirname
  • Quelques astuces
  • Les expressions génériques

11.La gestion de fichiers

  • Mise à jour d’un fichier avec la redirection >>
  • La redirection <<
  • Définition de séparateur de champs : IFS
  • Rediriger les entrées-sorties de tout un script
  • Lecture d’un fichier dans une boucle
  • Rediriger les entrées-sorties en ksh
  • Tester les entrées-sorties standard

12. La programmation multitâche en shell

  • Panorama des commandes de gestion de processus
  • La programmation parallèle en shell
  • Le regroupement de commandes
  • Les variables $ et !
  • La gestion de signaux : trap et kill
  • Les groupes de processus
  • L’échange de données par tube nommé
  • Les verrous
  • Les coprocessus
  • La gestion des travaux en Korn shell

13. Quelques commandes utiles

  • eval : réinterprétation d’une commande
  • select : gestion de menus (ksh)
  • getopts : décoder les options d’un script

14. Des commandes simples et pratiques

  • La commande what
  • La commande xargs
  • La commande tput

15. Le filtre sed

  • Principe de fonctionnement de sed
  • Principe de fonctionnement de sed (compléments)
  • Les commandes de sed
  • Utilisation des expressions régulières dans sed
  • Les sous-expressions

16. Le processeur de texte awk

  • Principes de fonctionnement de awk
  • Structure d’un programme awk
  • Les critères
  • Les variables prédéfinies
  • Les variables et les expressions
  • Les tableaux
  • Les instructions
  • Les fonctions prédéfinies
  • Les fonctions utilisateurs