SlideShare une entreprise Scribd logo
Programmation Shell Script
Présenter par : NOUR, MESSEL
Université Djilali Liabes de Sidi Bel Abbès
Présenter par : NOUR, MESSEL Programmation Shell Script
Un script Bash est un chier de type texte contenant une suite
de commandes SHELL, exécutable par l'interpréteur (par
exemple /bin/bash),comme une commande unique. Un script
peut etre lancé en ligne de commande (Terminal), comme
dans un autre script.
Il s'agit pas uniquement d'un simple enchainement de
commande : on peut dénir des variables et utiliser des
structures de controle, ce qui lui confère le statut de langage
de programmation interprété et complet.
Le langage Bash gère notamment :
Les entrées-sorties et leur redirection
Les variables (système, environnement et usager)
Le passage de paramètres
Les structures conditionnelles et itératives
Les fonctions internes
Présenter par : NOUR, MESSEL Programmation Shell Script
Alors?
Comment crèer, exècuter un script SHELL?
Quelle est la syntaxe génerale de la programmation SHELL?
Pourqoui on doit avoir à programmer en SHELL, malgrè
l'existance d'autres languages (C, Java, Python...)?
Présenter par : NOUR, MESSEL Programmation Shell Script
Le script débute généralement par l'indication de son
interpréteur écrite sur la première ligne
Les lignes commençant par le caractère # sont des
commentaires
figures/code_01.png
Présenter par : NOUR, MESSEL Programmation Shell Script
Il est indispensable que le chier script ait la permission x (soit
exécutable) : chmod u+x bonjour
Pour lancer l'exécution du script, taper : ./bonjour
./ indiquant le chemain, ici le répertoire courant. Ou bien
indiquer le chemain absolu à partir de la racine. Ceci dans le
cas où le répertoire contenant le script n'est pas inclus dans le
PATH
Présenter par : NOUR, MESSEL Programmation Shell Script
Exécution en mode trace (-x) et en mode verbose (-v) : sh
-x ./bonjour pour aider à la mise au point d'un script, on peut
insérer des lignes temporaires.
echo $var : pour acher la valeur de la variable
exit 1 : pour forcer l'ârret du script à cet endroit
On peut passer des arguments à la suite du nom du script,
séparés par des espaces. Les valeurs de ces paramètres sont
récupérables dans le script grâce aux paramétres de position
$1, $2, ... mais , contrairement aux langages de
programmation classiques, ils ne peuvent pas être modiés.
Présenter par : NOUR, MESSEL Programmation Shell Script
Présenter par : NOUR, MESSEL Programmation Shell Script
Ce sont les voies de communication entre le programme Bash et la
console :
echo : ache son argument texte entre guillement sur la sortie
standard. La validation d'une commande echo provoque un
saut de ligne.
On peut insérer les caractères spéciaux habituels, qui seront
interprétés seulement si l'option -e suit echo
n : saut ligne
b : retourn arrière
t : tabulation
a : alarme
c : n sans saut de ligne
echo -e Bonjour n a toutes n et a tous
Présenter par : NOUR, MESSEL Programmation Shell Script
read : permet l'aectation directe par lecture de la valeur, saisie
sur l'entrée standard au clavier
read var1 var2 ... : attend la saisie au clavier d'une liste de valeurs
pour les aecter, après la validation globale, respectivement
aux variables var1, var2, ...
Présenter par : NOUR, MESSEL Programmation Shell Script
Syntaxe : variable=valeur
Le signe = NE DOIT PAS etre entourné d'espace(s)
On peut initialiser une variable à une chaine vide : chaineVide=
Si valeur est une chaine avec des espaces ou des caractères
spéciax, l'entourner de   ou de ' '
Le caractére permet de masquer le sens d'un caractère spécial
comme  ou ' faire précéder le nom de la variable du signe
$pour faire référence à sa valeur
Pour acher toutes les variables : set
Pour empêcher la modication d'une variable : readonly pi=3.14
Présenter par : NOUR, MESSEL Programmation Shell Script
Toute variable est dénie dans un Shell. Pour qu'elle devienne
globale elle doit etre exportée par la commande export
Présenter par : NOUR, MESSEL Programmation Shell Script
La liste des variables d'environnement est accessible par la
commande : env, les plus utiles sont $HOME, $PATH, $USER,
$PS1, $SHELL, $ENV, $PWD, ...
La commande echo permet d'obtenir la valeur d'une telle
variable : echo $USER
Présenter par : NOUR, MESSEL Programmation Shell Script
Elles sont gérés par le système et s'avèrent très utiles dans les
scripts. Bien entendu, elles ne sont accessibles qu'en lecture
$? : C'est la valeur de sortie de la dernière commande
$ 0 : Cette variable contient le nom du script $ 1 à $ 9 : Les
paramètres passés à l'appel du script
$ ∗ : La liste des paramètres à partir de $1
$ $ : Le PID du processus courant
$! : Le PID du processus ls
Présenter par : NOUR, MESSEL Programmation Shell Script
Attention : si then est placé sur la 1ère ligne, séparer avec ;
if commande ; then ... 
Exemple : On teste la présence d'une ligne commençant par polo
dans /etc/passwd
Présenter par : NOUR, MESSEL Programmation Shell Script
Présenter par : NOUR, MESSEL Programmation Shell Script
Exemple : Supposons que le script doit réagir diéremment selon
la valeur de $USER
Présenter par : NOUR, MESSEL Programmation Shell Script
Exemple : Recopier les chiers personnels de root dans /tmp
Présenter par : NOUR, MESSEL Programmation Shell Script
La répétition se poursuit TANT QUE la dernière commande de la
liste est vraie
Présenter par : NOUR, MESSEL Programmation Shell Script
Sont des suites des instructions (soit fonctions/procédures) :
Présenter par : NOUR, MESSEL Programmation Shell Script
Projet
Fedora Post Installation : Bash script qui permet de faciliter
l'installation des programmes sous Fedora, et appliquer des
congurations sur le système.
Lien : https ://github.com/boubakr92/fedora-post-installation/
Info : Des contributeurs... BIENVENUE :)
Démonstration
Tâches : Programmer des scripts pour resoudre des problemes!
Présenter par : NOUR, MESSEL Programmation Shell Script
Merci...Vos Questions
Présenter par : NOUR, MESSEL Programmation Shell Script

Contenu connexe

Tendances

Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
Abdoulaye Dieng
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Saâd Zerhouni
 
Tubes.pdf
Tubes.pdfTubes.pdf
Tubes.pdf
dodo974800
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
Faycel Chaoua
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linux
Fadwa Gmiden
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
AmalHadri2
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
Mariem ZAOUALI
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
Abdelouahed Abdou
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
GodefroyCheumaniTche1
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
Mireille Blay-Fornarino
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
Ines Ben Hassine
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
Lilia Sfaxi
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
Beligh HAMDI
 
Diagramme d'état transition
Diagramme d'état transitionDiagramme d'état transition
Diagramme d'état transition
abdoMarocco
 
Introduction aux réseaux informatiques
Introduction aux réseaux informatiquesIntroduction aux réseaux informatiques
Introduction aux réseaux informatiques
sarah Benmerzouk
 

Tendances (20)

Ccna4
Ccna4Ccna4
Ccna4
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Routage
RoutageRoutage
Routage
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++
 
Tubes.pdf
Tubes.pdfTubes.pdf
Tubes.pdf
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linux
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
 
Diagramme d'état transition
Diagramme d'état transitionDiagramme d'état transition
Diagramme d'état transition
 
Introduction aux réseaux informatiques
Introduction aux réseaux informatiquesIntroduction aux réseaux informatiques
Introduction aux réseaux informatiques
 

En vedette

Rapport de projet shell
Rapport de projet shellRapport de projet shell
Rapport de projet shell
Bilal ZIANE
 
Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...
Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...
Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...
Amed So
 
974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configuration974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configurationYounes Hajji
 
LPIC1 13 01 scripting bash
LPIC1 13 01 scripting bashLPIC1 13 01 scripting bash
LPIC1 13 01 scripting bashNoël
 
Projet groupware et_outils_informatiques
Projet groupware et_outils_informatiquesProjet groupware et_outils_informatiques
Projet groupware et_outils_informatiquesRémi Bachelet
 
Groupware et outils web en projet sept 2014
Groupware et outils web en projet sept 2014Groupware et outils web en projet sept 2014
Groupware et outils web en projet sept 2014
Rémi Bachelet
 
NMAP
NMAPNMAP
2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell
Patrick Guimonet
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
Ahmed El-Arabawy
 
Shell sans les coquilles
Shell sans les coquillesShell sans les coquilles
Shell sans les coquilles
Édouard Lopez
 
Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?
Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?
Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?
Alexandre Zermati
 
Powershell
PowershellPowershell
PowershellUGAIA
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
Taoufik AIT HSAIN
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
robertpluss
 
Ligne de commandes sous Linux : effrayant ? Non : indispensable !
Ligne de commandes sous Linux : effrayant ? Non : indispensable !Ligne de commandes sous Linux : effrayant ? Non : indispensable !
Ligne de commandes sous Linux : effrayant ? Non : indispensable !Pascal MARTIN
 
[SEO Camp'Us] Piratage & SEO : savoir réagir
[SEO Camp'Us] Piratage & SEO : savoir réagir[SEO Camp'Us] Piratage & SEO : savoir réagir
[SEO Camp'Us] Piratage & SEO : savoir réagir
One Clic Conseil
 
Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)
Ayoub Rouzi
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
Administration reseau
Administration reseauAdministration reseau
Administration reseau
nadimoc
 

En vedette (20)

Rapport de projet shell
Rapport de projet shellRapport de projet shell
Rapport de projet shell
 
Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...
Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...
Christophe blaess shells-linux_et_unix_par_la_pratique_-eyrolles_(�ditions...
 
974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configuration974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configuration
 
LPIC1 13 01 scripting bash
LPIC1 13 01 scripting bashLPIC1 13 01 scripting bash
LPIC1 13 01 scripting bash
 
Projet groupware et_outils_informatiques
Projet groupware et_outils_informatiquesProjet groupware et_outils_informatiques
Projet groupware et_outils_informatiques
 
Groupware et outils web en projet sept 2014
Groupware et outils web en projet sept 2014Groupware et outils web en projet sept 2014
Groupware et outils web en projet sept 2014
 
NMAP
NMAPNMAP
NMAP
 
2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell2008-09-30 Administration automatisée avec Powershell
2008-09-30 Administration automatisée avec Powershell
 
Clonage
ClonageClonage
Clonage
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
 
Shell sans les coquilles
Shell sans les coquillesShell sans les coquilles
Shell sans les coquilles
 
Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?
Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?
Ubuntu, la boite à outils du débutant - partie 1> Pourquoi choisir Ubuntu?
 
Powershell
PowershellPowershell
Powershell
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
 
Ligne de commandes sous Linux : effrayant ? Non : indispensable !
Ligne de commandes sous Linux : effrayant ? Non : indispensable !Ligne de commandes sous Linux : effrayant ? Non : indispensable !
Ligne de commandes sous Linux : effrayant ? Non : indispensable !
 
[SEO Camp'Us] Piratage & SEO : savoir réagir
[SEO Camp'Us] Piratage & SEO : savoir réagir[SEO Camp'Us] Piratage & SEO : savoir réagir
[SEO Camp'Us] Piratage & SEO : savoir réagir
 
Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)Rapport Administration des systémes Linux (Shells bash)
Rapport Administration des systémes Linux (Shells bash)
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Administration reseau
Administration reseauAdministration reseau
Administration reseau
 

Similaire à Programmation Shell Script

Chapitre_Shell.pdf
Chapitre_Shell.pdfChapitre_Shell.pdf
Chapitre_Shell.pdf
AyoubBahaddou2
 
Langage Perl
Langage PerlLangage Perl
Langage Perl
Rached Krim
 
seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.ppt
AmineReal
 
Scripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxScripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptx
FrancisRUKAN
 
PHP - get started
PHP - get startedPHP - get started
PHP - get startedmazenovi
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
RihabBENLAMINE
 
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Marouan OMEZZINE
 
Initiation au langage PHP
Initiation au langage PHPInitiation au langage PHP
Initiation au langage PHP
Faouzia Benabbou
 
cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
Nanchi6
 
programmation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptxprogrammation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptx
ManalAg
 
Mix it 2011 - Clojure
Mix it 2011 - ClojureMix it 2011 - Clojure
Mix it 2011 - Clojure
lolopetit
 
chapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdfchapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdf
imaneeaouattahee
 
Les principes de base de PHP
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP
EL JAOUARI Ahmed
 
Php cours
Php coursPhp cours
Php cours
funinformatique
 
Chap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptxChap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptx
adammoussaif360
 
Programmation web cours php -- sahmi academy
Programmation web   cours php -- sahmi academyProgrammation web   cours php -- sahmi academy
Programmation web cours php -- sahmi academy
Soufiane SAHMI
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
Abdoulaye Dieng
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
Régis Lutter
 
Bash bonnes pratiques
Bash bonnes pratiquesBash bonnes pratiques
Bash bonnes pratiques
Idriss Neumann
 

Similaire à Programmation Shell Script (20)

Chapitre_Shell.pdf
Chapitre_Shell.pdfChapitre_Shell.pdf
Chapitre_Shell.pdf
 
Langage Perl
Langage PerlLangage Perl
Langage Perl
 
Chapitre 3 Linux
Chapitre 3 LinuxChapitre 3 Linux
Chapitre 3 Linux
 
seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.ppt
 
Scripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxScripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptx
 
PHP - get started
PHP - get startedPHP - get started
PHP - get started
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
 
Initiation au langage PHP
Initiation au langage PHPInitiation au langage PHP
Initiation au langage PHP
 
cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
 
programmation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptxprogrammation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptx
 
Mix it 2011 - Clojure
Mix it 2011 - ClojureMix it 2011 - Clojure
Mix it 2011 - Clojure
 
chapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdfchapitre 4-PHP5 module web part2 (1).pdf
chapitre 4-PHP5 module web part2 (1).pdf
 
Les principes de base de PHP
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP
 
Php cours
Php coursPhp cours
Php cours
 
Chap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptxChap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptx
 
Programmation web cours php -- sahmi academy
Programmation web   cours php -- sahmi academyProgrammation web   cours php -- sahmi academy
Programmation web cours php -- sahmi academy
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
 
Bash bonnes pratiques
Bash bonnes pratiquesBash bonnes pratiques
Bash bonnes pratiques
 

Dernier

Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Yuma91
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
sewawillis
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 

Dernier (13)

Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 

Programmation Shell Script

  • 1. Programmation Shell Script Présenter par : NOUR, MESSEL Université Djilali Liabes de Sidi Bel Abbès Présenter par : NOUR, MESSEL Programmation Shell Script
  • 2. Un script Bash est un chier de type texte contenant une suite de commandes SHELL, exécutable par l'interpréteur (par exemple /bin/bash),comme une commande unique. Un script peut etre lancé en ligne de commande (Terminal), comme dans un autre script. Il s'agit pas uniquement d'un simple enchainement de commande : on peut dénir des variables et utiliser des structures de controle, ce qui lui confère le statut de langage de programmation interprété et complet. Le langage Bash gère notamment : Les entrées-sorties et leur redirection Les variables (système, environnement et usager) Le passage de paramètres Les structures conditionnelles et itératives Les fonctions internes Présenter par : NOUR, MESSEL Programmation Shell Script
  • 3. Alors? Comment crèer, exècuter un script SHELL? Quelle est la syntaxe génerale de la programmation SHELL? Pourqoui on doit avoir à programmer en SHELL, malgrè l'existance d'autres languages (C, Java, Python...)? Présenter par : NOUR, MESSEL Programmation Shell Script
  • 4. Le script débute généralement par l'indication de son interpréteur écrite sur la première ligne Les lignes commençant par le caractère # sont des commentaires figures/code_01.png Présenter par : NOUR, MESSEL Programmation Shell Script
  • 5. Il est indispensable que le chier script ait la permission x (soit exécutable) : chmod u+x bonjour Pour lancer l'exécution du script, taper : ./bonjour ./ indiquant le chemain, ici le répertoire courant. Ou bien indiquer le chemain absolu à partir de la racine. Ceci dans le cas où le répertoire contenant le script n'est pas inclus dans le PATH Présenter par : NOUR, MESSEL Programmation Shell Script
  • 6. Exécution en mode trace (-x) et en mode verbose (-v) : sh -x ./bonjour pour aider à la mise au point d'un script, on peut insérer des lignes temporaires. echo $var : pour acher la valeur de la variable exit 1 : pour forcer l'ârret du script à cet endroit On peut passer des arguments à la suite du nom du script, séparés par des espaces. Les valeurs de ces paramètres sont récupérables dans le script grâce aux paramétres de position $1, $2, ... mais , contrairement aux langages de programmation classiques, ils ne peuvent pas être modiés. Présenter par : NOUR, MESSEL Programmation Shell Script
  • 7. Présenter par : NOUR, MESSEL Programmation Shell Script
  • 8. Ce sont les voies de communication entre le programme Bash et la console : echo : ache son argument texte entre guillement sur la sortie standard. La validation d'une commande echo provoque un saut de ligne. On peut insérer les caractères spéciaux habituels, qui seront interprétés seulement si l'option -e suit echo n : saut ligne b : retourn arrière t : tabulation a : alarme c : n sans saut de ligne echo -e Bonjour n a toutes n et a tous Présenter par : NOUR, MESSEL Programmation Shell Script
  • 9. read : permet l'aectation directe par lecture de la valeur, saisie sur l'entrée standard au clavier read var1 var2 ... : attend la saisie au clavier d'une liste de valeurs pour les aecter, après la validation globale, respectivement aux variables var1, var2, ... Présenter par : NOUR, MESSEL Programmation Shell Script
  • 10. Syntaxe : variable=valeur Le signe = NE DOIT PAS etre entourné d'espace(s) On peut initialiser une variable à une chaine vide : chaineVide= Si valeur est une chaine avec des espaces ou des caractères spéciax, l'entourner de ou de ' ' Le caractére permet de masquer le sens d'un caractère spécial comme ou ' faire précéder le nom de la variable du signe $pour faire référence à sa valeur Pour acher toutes les variables : set Pour empêcher la modication d'une variable : readonly pi=3.14 Présenter par : NOUR, MESSEL Programmation Shell Script
  • 11. Toute variable est dénie dans un Shell. Pour qu'elle devienne globale elle doit etre exportée par la commande export Présenter par : NOUR, MESSEL Programmation Shell Script
  • 12. La liste des variables d'environnement est accessible par la commande : env, les plus utiles sont $HOME, $PATH, $USER, $PS1, $SHELL, $ENV, $PWD, ... La commande echo permet d'obtenir la valeur d'une telle variable : echo $USER Présenter par : NOUR, MESSEL Programmation Shell Script
  • 13. Elles sont gérés par le système et s'avèrent très utiles dans les scripts. Bien entendu, elles ne sont accessibles qu'en lecture $? : C'est la valeur de sortie de la dernière commande $ 0 : Cette variable contient le nom du script $ 1 à $ 9 : Les paramètres passés à l'appel du script $ ∗ : La liste des paramètres à partir de $1 $ $ : Le PID du processus courant $! : Le PID du processus ls Présenter par : NOUR, MESSEL Programmation Shell Script
  • 14. Attention : si then est placé sur la 1ère ligne, séparer avec ; if commande ; then ... Exemple : On teste la présence d'une ligne commençant par polo dans /etc/passwd Présenter par : NOUR, MESSEL Programmation Shell Script
  • 15. Présenter par : NOUR, MESSEL Programmation Shell Script
  • 16. Exemple : Supposons que le script doit réagir diéremment selon la valeur de $USER Présenter par : NOUR, MESSEL Programmation Shell Script
  • 17. Exemple : Recopier les chiers personnels de root dans /tmp Présenter par : NOUR, MESSEL Programmation Shell Script
  • 18. La répétition se poursuit TANT QUE la dernière commande de la liste est vraie Présenter par : NOUR, MESSEL Programmation Shell Script
  • 19. Sont des suites des instructions (soit fonctions/procédures) : Présenter par : NOUR, MESSEL Programmation Shell Script
  • 20. Projet Fedora Post Installation : Bash script qui permet de faciliter l'installation des programmes sous Fedora, et appliquer des congurations sur le système. Lien : https ://github.com/boubakr92/fedora-post-installation/ Info : Des contributeurs... BIENVENUE :) Démonstration Tâches : Programmer des scripts pour resoudre des problemes! Présenter par : NOUR, MESSEL Programmation Shell Script
  • 21. Merci...Vos Questions Présenter par : NOUR, MESSEL Programmation Shell Script