SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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

Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.Valdy Ngouabira
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationMouna Torjmen
 
Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)Faycel Chaoua
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaAziz Darouichi
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Cours développement côté serveur
Cours développement côté serveurCours développement côté serveur
Cours développement côté serveurHouda TOUKABRI
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 

Tendances (20)

Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
 
Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)Support du cours : Systèmes d'exploitation 2 (linux)
Support du cours : Systèmes d'exploitation 2 (linux)
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Cours développement côté serveur
Cours développement côté serveurCours développement côté serveur
Cours développement côté serveur
 
Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 
Cours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 compositeCours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 composite
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 

En vedette

Rapport de projet shell
Rapport de projet shellRapport de projet shell
Rapport de projet shellBilal 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 2014Rémi Bachelet
 
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 PowershellPatrick 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 COMPLETTaoufik AIT HSAIN
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiationrobertpluss
 
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éagirOne 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
 
Administration reseau
Administration reseauAdministration reseau
Administration reseaunadimoc
 
Alphorm.com Formation RDS Windows Server 2008 R2 - Guide du consultant
Alphorm.com Formation  RDS Windows Server 2008 R2 - Guide du consultantAlphorm.com Formation  RDS Windows Server 2008 R2 - Guide du consultant
Alphorm.com Formation RDS Windows Server 2008 R2 - Guide du consultantAlphorm
 

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)
 
Administration reseau
Administration reseauAdministration reseau
Administration reseau
 
Alphorm.com Formation RDS Windows Server 2008 R2 - Guide du consultant
Alphorm.com Formation  RDS Windows Server 2008 R2 - Guide du consultantAlphorm.com Formation  RDS Windows Server 2008 R2 - Guide du consultant
Alphorm.com Formation RDS Windows Server 2008 R2 - Guide du consultant
 

Similaire à Programmation Shell Script

seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.pptAmineReal
 
Scripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxScripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxFrancisRUKAN
 
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.pdfRihabBENLAMINE
 
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 OMEZZINEMarouan OMEZZINE
 
programmation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptxprogrammation_shell_2022 (1).pptx
programmation_shell_2022 (1).pptxManalAg
 
Mix it 2011 - Clojure
Mix it 2011 - ClojureMix it 2011 - Clojure
Mix it 2011 - Clojurelolopetit
 
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
 
Programmation web cours php -- sahmi academy
Programmation web   cours php -- sahmi academyProgrammation web   cours php -- sahmi academy
Programmation web cours php -- sahmi academySoufiane SAHMI
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHPAbdoulaye Dieng
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3Régis Lutter
 
Développement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfDéveloppement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfYasushiTsubakik
 
Php_Mysql.pdf
Php_Mysql.pdfPhp_Mysql.pdf
Php_Mysql.pdfETTAMRY
 

Similaire à Programmation Shell Script (20)

Chapitre_Shell.pdf
Chapitre_Shell.pdfChapitre_Shell.pdf
Chapitre_Shell.pdf
 
Langage Perl
Langage PerlLangage Perl
Langage Perl
 
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
 
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
 
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
 
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
 
Php1
Php1Php1
Php1
 
Développement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfDéveloppement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdf
 
Php_Mysql.pdf
Php_Mysql.pdfPhp_Mysql.pdf
Php_Mysql.pdf
 
INF355_Lecon2.pdf
INF355_Lecon2.pdfINF355_Lecon2.pdf
INF355_Lecon2.pdf
 

Dernier

Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 

Dernier (20)

DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 

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