Www.supinfo.com Copyright © SUPINFO. All rights reserved Scripting BASH Simplification d’administration campus-Booster ID : **XXXXX.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Formation universitaire à .NET: Introduction à C#
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Outils de développements
Objectifs Présentation et utilisation du langage PERL
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Cours Visual Basic pour Application
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,
Les commandes Unix.
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
CPI/BTS 2 Programmation Web Introduction au PHP
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Les instructions PHP pour l'accès à une base de données MySql
Bibliothèque de fonctions PHP
Introduction à la programmation (Java)
Techniques d’administration [BTS IRIS tv
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Exemples de programmation Bourne shell et nawk(1)
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Programmation nawk(1)
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie II 2014.
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie I 2014.
Systèmes dexploitation et programmation de systèmes -GPA435- Cours #5: Éléments de programmation (Partie 2) Enseignant: Jean-Philippe Roberge Jean-Philippe.
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Partie II Sémantique.
LAL Service Informatique Stage Informatique 1 Le système Unix l Multitâche, multi-utilisateur, partage des ressources l Universel : machines, portabilité.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 6 Substitution: variables et commandes,
Animateur : Med HAIJOUBI
Utilisation avancée de linux
LE LANGAGE JAVASCRIPT LES TABLEAUX ET LES FONCTIONS.
PHP & My SQL.
FORMATION Unix/Linux CHAPITRE 1: LES PREMIERS PAS.
CHAPITRE 4 : Gestion des Utilisateurs et Groupes
Shell Equipe ID Bioinformatics Training Course June 2014.
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Créer des packages.
 Syntaxe du langage PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Chapitre 1 : Présentation Page 1. Chapitre 1 : Présentation Page 2  1979 : Première version d’Unix commercialisée  Unix Système V  Puis Unix BSD par.
Introduction au langage C Fonctions et Procédures
Unix Raymond Ripp.
Variables et environnement utilisateur W. Barhoumi.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
 Formulaires HTML : traiter les entrées utilisateur
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Elaboré par Ahmed BESSAIDI
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Découvrez la programmation évènementielle
Filesystem Hierarchy standard Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Organisation du FHS.
CPI/BTS 2 Programmation Web Fonctions & Includes Prog Web CPI/BTS2 – M. Dravet – 02/11/2003 Dernière modification: 02/11/2003.
Scripts et fonctions Instructions de contrôle
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 7 Neutralisation, redirection, décodage des paramètres,
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Campus-Booster ID : Copyright © SUPINFO. All rights reserved Gestion des disques.
FLASH SEANCE 2 Interaction avec Action Script. Action script Langage de programmation utilisé par Flash. Définir des propriétés, des actions des comportements.
Flash 2 ème séance Interaction François Marliac Mickaël Moreira.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
Amine Benabdennbi - Omar Berrada Rekhami Flash 2 – Interactivité Avancée Flash 2 Séance de Flash n°2 TD SI28 du 16/04/2007 Amine Benabdennbi Omar Berrada.
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
FACTORY systemes Module 5 Section 1 Page 5-3 Les scripts de traitement FORMATION INTOUCH 7.0.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Copyright © SUPINFO. All rights reserved Scripting BASH Simplification d’administration campus-Booster ID : **XXXXX

Objectifs de ce module Connaître ce qu'est BASH. Comment il fonctionne et qu'est- ce qu'un script BASH. Créer et invoquer un script. Savoir quoi écrire dans un script et comment l'invoquer. Automatiser des suites de commandes. Se donner les moyens pour simplifier l'administration. En suivant ce module vous allez: Scripting BASH

Plan du module Qu'est-ce que BASH. Un interpréteur et un langage de script. Les variables. Configuration de BASH. Les fichiers de configurations et les modes de fonctionnement. Créer un shell script. Syntaxe et invocation. Les structures. Boucles, itérations et fonctions. Autres fonctionnalités. Voici les parties que nous allons aborder: Scripting BASH

Qu'est-ce que BASH ? Scripting BASH

Plan de la partie Présentation. Les commandes. Les variables. Les Alias. Voici les chapitres que nous allons aborder: Qu’est ce que BASH ?

B ourne A gain SH ell Qu'est-ce que BASH ? Présentation

Qu'est-ce que BASH ? BASH, acronyme de Bourne-Again shell. Par défaut sur les systèmes GNU/linux. Programme interprétant les commandes : un shell  Sous licence GPL  En version 3 depuis Juillet 2004  Autres interpréteurs : sh, csh, ksh, zsh Langage de programmation simplifiant et automatisant l'administration d'un système UNIX.

Présentation Qu'est-ce que BASH ? L'affichage classique est composé... ~]$ echo "Hello world!" Hello world! Un prompt fournissant diverses informations. Un espace réservé à l’entrée de commandes Une zone affichant le résultat des commandes utilisées. 123

Les commandes et les Variables Qu'est-ce que BASH ? Les variables : Pas d'espace au niveau du signe égal Affectation : pas de « $ » Utilisation : « $ » devant le nom de la variable La commande echo : Affiche du texte à l’écran ~]$ os=“GNU/Linux” ~]$ echo “Ce système d’exploitation est $os” Ce système d’exploitation est GNU/Linux.

Qu'est-ce que BASH ? Lit une entrée clavier. Si le nom de la variable n'est pas précisé, la valeur est stockée dans la variable spéciale REPLY. Les commandes et les Variables ~]$ read [-p prompt] [variable] read# stocke l’entrée dans REPLY read VAR# stocke l’entrée dans VAR ~]$ read –p “Nom de l’OS ?” os Nom de l’OS ? OpenBSD ~]$ echo “Ce système d’exploitation est $os” Ce système d’exploitation est OpenBSD.

Qu'est-ce que BASH ? Subtilités... Un peu de vocabulaire : « " » : double quote « ' » : simple quote « ` » : backquote ou backtick (AltGr + 7) Les commandes et les Variables var=“ls” echo “var = $var”# affiche : var = ls echo ’var = $var’# affiche : var = $var echo “var = “`$var`# affiche : var = script

Qu'est-ce que BASH ? Variables spéciales modifiant le comportement du shell et/ou applications lancées depuis le shell. Définie et modifiée comme les variables « normales ». Pour lister les variables d'environnement du shell : Les commandes et les Variables ~]$ env HOME=/home/user PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin TERM=xterm EDITOR=/bin/nano

Qu'est-ce que BASH ? Modifications des variables « classiques» : valables seulement pour le shell courant. Pour que les variables soient accessibles à l'environnement, on doit « exporter » la variable. Dans tous les cas, les variables sont détruites à la fermeture du shell ou du processus. Les commandes et les Variables ~]$ echo $EDITOR EDITOR=/usr/bin/nano ~]$ EDITOR=/usr/bin/vi ~]$ export EDITOR

Les alias Qu'est-ce que BASH ? BASH permet de créer des alias de commande. Les alias permettent d'abréger les longues commandes. Les alias sont effacés à la fermeture du shell. ~]$ alias ll=“ls –l” ~]$ ll total rw-r--r-- 1 root root Sep 22 21:01 COPYING -rw-r--r-- 1 root root Sep 22 21:01 CREDITS drwxr-xr-x 59 root root 6048 Sep 22 21:02 Documentation

Récapitulatif Qu'est-ce que BASH ? BASH est un interpréteur de commande très utilisé. L'utilisateur peut interagir avec BASH. Il est possible de définir des variables. Les variables d'environnements sont accessibles aux programmes lancés par le shell. Il est possible de définir des alias de commandes. Les alias et les variables sont effacés à la fermeture du shell.

Pause-réflexion Avez-vous des questions ? Qu'est-ce que BASH ?

Configuration de BASH Scripting BASH

Plan de la partie Les fichiers de configuration. Les modes d’exécution. Exemple Voici les chapitres que nous allons aborder: Configuration de Bash

Les fichiers de configuration Configuration de BASH Système : /etc/profile et /etc/bash/bashrc Utilisateur : ~/.bash_profile et ~/.bashrc Contiennent des commandes à éxécuter. Définissent les variables d'environnement et les alias.

Les modes d'éxécutions Configuration de BASH BASH peut etre lancé de 2 façons différentes, ce qui influence l'ordre de lecture des fichiers de configuration : Shell interactif de login Shell interactif classique S'il existe, éxécute /etc/profile Exécute le premier trouvé entre ~/.bash_profile, ~/.bash_login, ~/.profile 1 2 S'il existe, éxécute /etc/bash/bashrc S'il existe, éxecute ~/.bashrc 1 2

Exemple Configuration de BASH ~]$ cat.bashrc EDITOR="/usr/bin/vim" PATH="/opt/bin/:$PATH" export EDITOR PATH alias ls='li -lih' echo "Chargement de la configuration terminé." echo "Bienvenue "`whoami`

Récapitulatif Configuration de BASH Il existe une configuration pour le système et une configuration par utilisateur. Selon le mode d'exécution de BASH, des configuration différentes seront chargées. Les fichiers de configuration contiennent juste des commandes à exécuter. Il est possible de sauvegarder ses alias et ses variables, en utilisant les fichiers de configuration de BASH.

Pause-réflexion Avez-vous des questions ? Configuration de BASH

Créer un shell script Où comment automatiser les tâches administratives. Scripting BASH

Plan de la partie Créer un shell script Qu'est-ce qu'un script. Invocation d'un script. Les arguments. Sortie du script et signaux. Voici les chapitres que nous allons aborder :

Qu'est-ce qu'un script Créer un shell script Un fichier texte contenant un ensemble de commande. Les commentaires commencent par # La première ligne indique l'interpréteur. #!/bin/bash #!/usr/bin/perl #!/usr/bin/python

Invocation d'un script Créer un shell script Définir les bonnes permissions Exécution d'un script :./script.sh source script.sh. script.sh Charge l'interpréteur pour exécuter le script. Seules les variables exportées sont disponibles à l'intérieur du script. Le script est exécuté à l'intérieur du shell courant. Il a accès en lecture/écriture à toutes les variables précédemment définies ~]$ chmod +x script.sh

Les arguments Créer un shell script Arguments passés à la ligne de commande A l'éxécution : $* : tous les arguments sous la forme d'une chaîne de caractères : tous les arguments sous la forme d'un tableau #!/bin/bash # Exemple de script Bash # echo $0 $1 $2 ~]$./script labo linux./script labo linux

Sortie du script et signaux Créer un shell script L'instruction return : Renvoie une valeur de retour (pour une fonction) L'instruction exit : Sort et renvoie une valeur de retour (0 ou >0) La variable spéciale $? contient la valeur de retour de la commande précédente L'instruction trap permet d'intercepter un signal trap “echo Vous avez appuyé sur Ctrl-C” SIGINT

Sortie du script et signaux Créer un shell script BASH Application Exécution return exit renvoie $? Exécution BASH Application Ctrl+C Fin de l’application Exécution du trap

Pause-réflexion Avez-vous des questions ? Créer un shell script

Les structures Scripting BASH

Plan de la partie Les structures La structure conditionnelle if. Le switch. Les boucles. Le for. Les instructions de contrôle. Les fonctions. Voici les chapitres que nous allons aborder :

La structure conditionnelle if Les structures if condition; then commande; fi if condition; then commande; else commande; fi if condition; then commande; elif condition; commande; fi if [`a` = `a` ]; then echo “true”; fi if [`a` = `a` ]; then echo “true”; elif [ `b` = `b` ]; echo “false”; fi if [`a` = `a` ]; then echo “true”; else echo “false”; fi

Le switch Les structures Le switch : case “$OS” in unix) echo ‘Vous avez un Unix’ ;; [Bb][Ss][Dd]) echo ‘vous avez une BSD’ ;; Lin*) echo ‘vous avez GNU/Linux’ ;; *) echo ‘autre’ ;; esac

Les boucles Les structures while condition; do commande; done until condition; do commande; done i=0 while [ $i -lt 3 ]; do echo $i; let $[ i += 1 ] done i=0 until [ $i -eq 3 ]; do echo $i; let $[ i += 1 ] done

Le for Les structures La boucle for est équivalent au foreach existant dans de nombreux langages. L'instruction seq crée une séquence de nombres. for i `seq 1 5`; do echo $i done

Les instructions de controle Les structures Contrôle le déroulement des itérations d'une boucle : Instruction break : quitte la boucle. Instruction continue : stoppe l'itération en cours et passe directement à l'itération suivante.

Les fonctions Les structures Se comportent comme des variables. Peuvent etre définie directement dans le shell. La commande set permet de lister toutes les variables et les fonctions actuellement définies dans l'interpréteur de commande. function ma_fonction() { local var1 local var2=“valeur” commande1 commande2 return val; }

Pause-réflexion Avez-vous des questions ? Les structures

Autres fonctionnalités Scripting BASH

Plan de la partie Autres fonctionnalités Syntaxe. Effectuer des calculs. Nombres aléatoires. Interfaces graphiques. Voici les chapitres que nous allons aborder :

Syntaxe Commentaires Variables Autres fonctionnalités # exemple de commentaire Var=‘linux’ echo $var echo ${var}

Effectuer des calculs Pour évaluer : expr La commande let Autres fonctionnalités ~]$ expr i=3 let $[ i += 7 ] echo $i# affiche 10

Nombre aléatoire Variable spéciale $RANDOM Génère un nombre de 5 chiffres. Autres fonctionnalités echo $RANDOM echo $RANDOM %

Interfaces graphiques Le programme dialog permet de créer des boîtes de dialogue au sein d'un script BASH : Autres fonctionnalités

Pause-réflexion Avez-vous des questions ? Autres fonctionnalités

Les Structures Présentation de Bash Résumé du module Création de Script Scripting Bash

Pour aller plus loin… Modules de coursPublications Sites web Conférences. Si vous voulez approfondir vos connaissances: Scripting Bash Commandes de base Sed et Awk

Félicitations Vous avez suivi avec succès le module de cours n°06 Scripting Bash

Fin Scripting Bash Attention à la syntaxe ! Référez vous aux manpages