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

Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Pluswebreaker
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsWeb à Québec
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRFAyoub Rouzi
 
exposé en HTML
exposé en HTMLexposé en HTML
exposé en HTMLYaya Im
 
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
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesStéphane Di Cioccio
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm
 
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)Alphorm
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptwafawafa52
 

Tendances (20)

Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Polymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraitePolymorphisme, interface et classe abstraite
Polymorphisme, interface et classe abstraite
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRF
 
Java
JavaJava
Java
 
exposé en HTML
exposé en HTMLexposé en HTML
exposé en HTML
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
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
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequences
 
JAVA
JAVAJAVA
JAVA
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
Cours php
Cours phpCours php
Cours php
 
Cloud_2022.pdf
Cloud_2022.pdfCloud_2022.pdf
Cloud_2022.pdf
 
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
 
cours Lunix
cours Lunixcours Lunix
cours Lunix
 

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
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
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
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
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
 
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.pdfNanchi6
 
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
 
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).pdfimaneeaouattahee
 
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
 

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
 
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
 

Dernier

Chapitre3-Classififcation des structures de chaussu00E9e.pptx
Chapitre3-Classififcation des structures de  chaussu00E9e.pptxChapitre3-Classififcation des structures de  chaussu00E9e.pptx
Chapitre3-Classififcation des structures de chaussu00E9e.pptxModesteTiemele
 
Un petit coin etwinning- Au fil des cultures urbaines
Un petit coin  etwinning- Au fil des cultures urbainesUn petit coin  etwinning- Au fil des cultures urbaines
Un petit coin etwinning- Au fil des cultures urbainesSocratis Vasiopoulos
 
Nathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre françaiseNathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre françaiseTxaruka
 
Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024IEN_Jonzac
 
Àma Gloria.pptx Un film tourné au Cap Vert et en France
Àma Gloria.pptx   Un film tourné au Cap Vert et en FranceÀma Gloria.pptx   Un film tourné au Cap Vert et en France
Àma Gloria.pptx Un film tourné au Cap Vert et en FranceTxaruka
 
Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"ArchivesdeLyon
 
Texte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigéesTexte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigéesLeBaobabBleu1
 
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptxSaint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptxMartin M Flynn
 
Fiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciationFiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciationLeBaobabBleu1
 
complement de agri cours irrigation.pptx
complement de agri cours irrigation.pptxcomplement de agri cours irrigation.pptx
complement de agri cours irrigation.pptxIbrahimBasallam
 
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptxGHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptxAbderrahim GHASSOUB
 
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptxGHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptxAbderrahim GHASSOUB
 
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTIONCALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTIONfrizzole
 

Dernier (13)

Chapitre3-Classififcation des structures de chaussu00E9e.pptx
Chapitre3-Classififcation des structures de  chaussu00E9e.pptxChapitre3-Classififcation des structures de  chaussu00E9e.pptx
Chapitre3-Classififcation des structures de chaussu00E9e.pptx
 
Un petit coin etwinning- Au fil des cultures urbaines
Un petit coin  etwinning- Au fil des cultures urbainesUn petit coin  etwinning- Au fil des cultures urbaines
Un petit coin etwinning- Au fil des cultures urbaines
 
Nathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre françaiseNathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre française
 
Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024
 
Àma Gloria.pptx Un film tourné au Cap Vert et en France
Àma Gloria.pptx   Un film tourné au Cap Vert et en FranceÀma Gloria.pptx   Un film tourné au Cap Vert et en France
Àma Gloria.pptx Un film tourné au Cap Vert et en France
 
Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"
 
Texte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigéesTexte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigées
 
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptxSaint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
 
Fiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciationFiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciation
 
complement de agri cours irrigation.pptx
complement de agri cours irrigation.pptxcomplement de agri cours irrigation.pptx
complement de agri cours irrigation.pptx
 
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptxGHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
 
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptxGHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
 
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTIONCALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
 

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