Académique Documents
Professionnel Documents
Culture Documents
BASH Scripting
Présenté par :
Pr. Nordine
ZIDANE
Simplification d’administration
Objectifs de ce module
En suivant ce module vous allez:
Plan du module
Voici les parties que nous allons aborder:
N.ZIDANE
N.ZIDANE SUPMTI
SUPMTI 2022-2023 2023-2024 5
Qu’est ce que BASH ?
Plan de la partie
Voici les chapitres que nous allons aborder:
Présentation.
Les commandes.
Les variables.
Les Alias.
Présentation
Bourne
Again
SHell
Présentation
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
1 2
3
L'affichage classique est composé...
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
var=“ls”
echo “var = $var” # affiche : var = ls
echo ’var = $var’ # affiche : var = $var
echo “var = “`$var` # affiche : var = script
Un peu de vocabulaire :
« " » : double quote
« ' » : simple quote
« ` » : backquote ou backtick (AltGr + 7)
Les alias
Récapitulatif
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 ?
Configuration de BASH
Plan de la partie
Voici les chapitres que nous allons aborder:
Les fichiers de configuration.
Les modes d’exécution.
Exemple
Exemple
Récapitulatif
Il existe une configuration pour le système et une
configuration par utilisateur.
Pause-réflexion
Avez-vous des questions ?
Plan de la partie
Voici les chapitres que nous allons aborder :
Qu'est-ce qu'un script.
Invocation d'un script.
Les arguments.
Sortie du script et signaux.
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/python
source script.sh
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
. script.sh
Les arguments
Arguments passés à la ligne de commande
#!/bin/bash
# Exemple de script Bash
#
echo $0 $1 $2
A l'éxécution :
Pause-réflexion
Avez-vous des questions ?
Les structures
Plan de la partie
Voici les chapitres que nous allons aborder :
La structure conditionnelle if.
Le switch.
Les boucles.
Le for.
Les instructions de contrôle.
Les fonctions.
La structure conditionnelle if
if condition; then commande; fi
Le switch
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
while 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
La boucle for est équivalent au foreach existant
dans de nombreux langages.
L'instruction seq crée une séquence de nombres.
Les fonctions
Se comportent comme des variables.
Peuvent être 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 ?
Autres fonctionnalités
Plan de la partie
Voici les chapitres que nous allons aborder :
Syntaxe.
Effectuer des calculs.
Nombres aléatoires.
Interfaces graphiques.
Syntaxe
Commentaires
# exemple de commentaire
Variables
var=‘linux’
echo $var
echo ${var}
La commande let
i=3
let $[ i += 7 ]
echo $i # affiche 10
Nombre aléatoire
Variable spéciale $RANDOM
Génère un nombre de 5 chiffres.
echo $RANDOM
echo $RANDOM % <chiffre>
Interfaces graphiques
Le programme dialog permet de créer des boîtes de
dialogue au sein d'un script BASH :
Pause-réflexion
Avez-vous des questions ?
Résumé du module
Présentation
Présentation
de
de Bash
Bash
Création
Création de
de Les
Les Structures
Structures
Script
Script
www.labo-linux.org .