SlideShare una empresa de Scribd logo
1 de 17
Linux LPIC1 – Comptia Linux+ noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Scripting Bash
Connaissances complémentaires
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Linux LPIC1 – Comptia Linux+ noelmace.com
Plan
• Introduction
• Rappel : variables
• Shebang
• Sortie
• Test
• Expressions mathématiques
• Composition
• :Alternatives
 -si sinon
 Selon
• :Boucles
 Pour
 Tant que
• ’Lecture depuis l entrée
standard
• Lancement
Linux LPIC1 – Comptia Linux+ noelmace.com
Introduction
• automatiser
• comprendre
Linux LPIC1 – Comptia Linux+ noelmace.com
Rappel : variables
• déclaration
• paramètres de position : $#, $@, $*, $0, $1, $2, $3, etc …
• valeur de sortie de la dernière commande : $?
• PID du processus de script : $$
mavariable="valeur"mavariable="valeur"
Linux LPIC1 – Comptia Linux+ noelmace.com
Shebang
• Première ligne d'un script
• Indique qu'un fichier est un script
• Suivit de l'interpréteur
• Exemples :
#!/bin/sh -x
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f
#!/bin/sh -x
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f
Linux LPIC1 – Comptia Linux+ noelmace.com
Sortie
• met fin à l'exécution du script
• renvoi la valeur donnée
 0 = bonne exécution = true
exit [valeur]exit [valeur]
Linux LPIC1 – Comptia Linux+ noelmace.com
Test
• ou
• Exemples
test expressiontest expression
[ expression ][ expression ]
[ 2 -lt 3 ][ 2 -lt 3 ]
[ "$var1" != "$var2" ][ "$var1" != "$var2" ]
[ -x /bin/bash ][ -x /bin/bash ]
Linux LPIC1 – Comptia Linux+ noelmace.com
Expressions mathématiques
• calculer et afficher le résultat sur la sortie standard
• exécuter une opération
 ou
• peu être précédé de $ pour enregistrer dans une variable ou afficher
expr expressionexpr expression
let expressionlet expression
((expression))((expression))
Linux LPIC1 – Comptia Linux+ noelmace.com
Composition
• séquentielle : cmd1 ; cmd2
• parallèle : cmd1 & cmd2
• sur erreur (ou) : cmd1 || cmd2
• sur succès (et) : cmd1 && cmd2
Linux LPIC1 – Comptia Linux+ noelmace.com
Alternatives : si - sinon
if test
then
instructions
elif test
then
instructions
…
else
instructions
fi
if test
then
instructions
elif test
then
instructions
…
else
instructions
fi
Linux LPIC1 – Comptia Linux+ noelmace.com
Alternatives : Selon
case variable in
expr)
instructions
;;
…
esac
case variable in
expr)
instructions
;;
…
esac
• Attention : case n'utilise pas d'expression régulière, mais du pattern matching
Linux LPIC1 – Comptia Linux+ noelmace.com
Boucles : Pour
• Exemple :
for var in [liste]
do
…
done
for var in [liste]
do
…
done
for (( i=1 ; i<=5 ; i++ ))
do
echo $i
done
for (( i=1 ; i<=5 ; i++ ))
do
echo $i
done
Linux LPIC1 – Comptia Linux+ noelmace.com
Boucles : Tant que
while test
do
…
done
while test
do
…
done
Linux LPIC1 – Comptia Linux+ noelmace.com
Lecture depuis l’entrée standard
read [-p prompt] [name...]read [-p prompt] [name...]
Linux LPIC1 – Comptia Linux+ noelmace.com
Lancement
• ou ajouter le dossier au PATH
$ ./script$ ./script
$ bash script$ bash script
Linux LPIC1 – Comptia Linux+ noelmace.com
Ce qu’on a couvert
• Comment s'écrit un script bash.
• Comment lancer un script bash.
Linux LPIC1 – Comptia Linux+ noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
 partager — reproduire, distribuer et communiquer cette œuvre
 remixer — adapter l’œuvre
Selon les conditions suivantes :
 Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
 Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
 Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.

Más contenido relacionado

La actualidad más candente

LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 killNoël
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logsNoël
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 topNoël
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevelsNoël
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxNoël
 
LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingNoël
 
06 05 résolution de nom
06 05 résolution de nom06 05 résolution de nom
06 05 résolution de nomNoël
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeNoël
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrageNoël
 
LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacronNoël
 
06 04 arp
06 04 arp06 04 arp
06 04 arpNoël
 
01 01 composants du noyau
01 01 composants du noyau01 01 composants du noyau
01 01 composants du noyauNoël
 
01 06 gestion et interrogation du noyau et des modules noyau en exécution
01 06 gestion et interrogation du noyau et des modules noyau en exécution01 06 gestion et interrogation du noyau et des modules noyau en exécution
01 06 gestion et interrogation du noyau et des modules noyau en exécutionNoël
 
LPIC1 07 01 introduction à l'administration du matériel
LPIC1 07 01 introduction à l'administration du matérielLPIC1 07 01 introduction à l'administration du matériel
LPIC1 07 01 introduction à l'administration du matérielNoël
 
LPIC1 02 04 variables
LPIC1 02 04 variablesLPIC1 02 04 variables
LPIC1 02 04 variablesNoël
 
LPIC1 04 02 RPM Package Manager
LPIC1 04 02 RPM Package ManagerLPIC1 04 02 RPM Package Manager
LPIC1 04 02 RPM Package ManagerNoël
 
LPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yumLPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yumNoël
 
LPIC1 02 06 astuces
LPIC1 02 06 astucesLPIC1 02 06 astuces
LPIC1 02 06 astucesNoël
 
06 03 route
06 03 route06 03 route
06 03 routeNoël
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2Noël
 

La actualidad más candente (20)

LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 kill
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logs
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 top
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevels
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et nating
 
06 05 résolution de nom
06 05 résolution de nom06 05 résolution de nom
06 05 résolution de nom
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité système
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrage
 
LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacron
 
06 04 arp
06 04 arp06 04 arp
06 04 arp
 
01 01 composants du noyau
01 01 composants du noyau01 01 composants du noyau
01 01 composants du noyau
 
01 06 gestion et interrogation du noyau et des modules noyau en exécution
01 06 gestion et interrogation du noyau et des modules noyau en exécution01 06 gestion et interrogation du noyau et des modules noyau en exécution
01 06 gestion et interrogation du noyau et des modules noyau en exécution
 
LPIC1 07 01 introduction à l'administration du matériel
LPIC1 07 01 introduction à l'administration du matérielLPIC1 07 01 introduction à l'administration du matériel
LPIC1 07 01 introduction à l'administration du matériel
 
LPIC1 02 04 variables
LPIC1 02 04 variablesLPIC1 02 04 variables
LPIC1 02 04 variables
 
LPIC1 04 02 RPM Package Manager
LPIC1 04 02 RPM Package ManagerLPIC1 04 02 RPM Package Manager
LPIC1 04 02 RPM Package Manager
 
LPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yumLPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yum
 
LPIC1 02 06 astuces
LPIC1 02 06 astucesLPIC1 02 06 astuces
LPIC1 02 06 astuces
 
06 03 route
06 03 route06 03 route
06 03 route
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2
 

Destacado

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
 
Scripting linux – exo1
Scripting linux – exo1Scripting linux – exo1
Scripting linux – exo1Henallux
 
alphorm.com - Formation Powershell 2.0
alphorm.com - Formation Powershell 2.0alphorm.com - Formation Powershell 2.0
alphorm.com - Formation Powershell 2.0Alphorm
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destacado (7)

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...
 
Scripting linux – exo1
Scripting linux – exo1Scripting linux – exo1
Scripting linux – exo1
 
alphorm.com - Formation Powershell 2.0
alphorm.com - Formation Powershell 2.0alphorm.com - Formation Powershell 2.0
alphorm.com - Formation Powershell 2.0
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentiel
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar a LPIC1 13 01 scripting bash

LPIC1 02 05 commandes internes
LPIC1 02 05 commandes internesLPIC1 02 05 commandes internes
LPIC1 02 05 commandes internesNoël
 
LPIC1 02 10 grep
LPIC1 02 10 grepLPIC1 02 10 grep
LPIC1 02 10 grepNoël
 
LPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texteLPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texteNoël
 
LPIC1 04 07 apt-get
LPIC1 04 07 apt-getLPIC1 04 07 apt-get
LPIC1 04 07 apt-getNoël
 
06 01 construction et installation de programmes à partir du code source
06 01 construction et installation de programmes à partir du code source06 01 construction et installation de programmes à partir du code source
06 01 construction et installation de programmes à partir du code sourceNoël
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfacesNoël
 
LPIC1 07 08 partitionning
LPIC1 07 08 partitionningLPIC1 07 08 partitionning
LPIC1 07 08 partitionningNoël
 
LPIC1 02 03 aide
LPIC1 02 03 aideLPIC1 02 03 aide
LPIC1 02 03 aideNoël
 
02 02 linux standard base
02 02 linux standard base02 02 linux standard base
02 02 linux standard baseNoël
 
06 02 ip
06 02 ip06 02 ip
06 02 ipNoël
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsckNoël
 
LPIC1 02 11 sed
LPIC1 02 11 sedLPIC1 02 11 sed
LPIC1 02 11 sedNoël
 
LPIC1 4 01 introduction aux packages
LPIC1 4 01 introduction aux packagesLPIC1 4 01 introduction aux packages
LPIC1 4 01 introduction aux packagesNoël
 
LPIC1 05 08 find
LPIC1 05 08 findLPIC1 05 08 find
LPIC1 05 08 findNoël
 
LPIC1 05 04 droits d'accès posix
LPIC1 05 04 droits d'accès posixLPIC1 05 04 droits d'accès posix
LPIC1 05 04 droits d'accès posixNoël
 
LPIC1 02 07 gestion basique de fichiers
LPIC1 02 07 gestion basique de fichiersLPIC1 02 07 gestion basique de fichiers
LPIC1 02 07 gestion basique de fichiersNoël
 
LPIC1 04 03 yum
LPIC1 04 03 yumLPIC1 04 03 yum
LPIC1 04 03 yumNoël
 
LPIC1 05 03 les fichiers, dossiers et leurs propriétaires
LPIC1 05 03 les fichiers, dossiers et leurs propriétairesLPIC1 05 03 les fichiers, dossiers et leurs propriétaires
LPIC1 05 03 les fichiers, dossiers et leurs propriétairesNoël
 
06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes systèmeNoël
 
05 03 dépannage réseau
05 03 dépannage réseau05 03 dépannage réseau
05 03 dépannage réseauNoël
 

Similar a LPIC1 13 01 scripting bash (20)

LPIC1 02 05 commandes internes
LPIC1 02 05 commandes internesLPIC1 02 05 commandes internes
LPIC1 02 05 commandes internes
 
LPIC1 02 10 grep
LPIC1 02 10 grepLPIC1 02 10 grep
LPIC1 02 10 grep
 
LPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texteLPIC1 03 01 édition de fichiers texte
LPIC1 03 01 édition de fichiers texte
 
LPIC1 04 07 apt-get
LPIC1 04 07 apt-getLPIC1 04 07 apt-get
LPIC1 04 07 apt-get
 
06 01 construction et installation de programmes à partir du code source
06 01 construction et installation de programmes à partir du code source06 01 construction et installation de programmes à partir du code source
06 01 construction et installation de programmes à partir du code source
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfaces
 
LPIC1 07 08 partitionning
LPIC1 07 08 partitionningLPIC1 07 08 partitionning
LPIC1 07 08 partitionning
 
LPIC1 02 03 aide
LPIC1 02 03 aideLPIC1 02 03 aide
LPIC1 02 03 aide
 
02 02 linux standard base
02 02 linux standard base02 02 linux standard base
02 02 linux standard base
 
06 02 ip
06 02 ip06 02 ip
06 02 ip
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsck
 
LPIC1 02 11 sed
LPIC1 02 11 sedLPIC1 02 11 sed
LPIC1 02 11 sed
 
LPIC1 4 01 introduction aux packages
LPIC1 4 01 introduction aux packagesLPIC1 4 01 introduction aux packages
LPIC1 4 01 introduction aux packages
 
LPIC1 05 08 find
LPIC1 05 08 findLPIC1 05 08 find
LPIC1 05 08 find
 
LPIC1 05 04 droits d'accès posix
LPIC1 05 04 droits d'accès posixLPIC1 05 04 droits d'accès posix
LPIC1 05 04 droits d'accès posix
 
LPIC1 02 07 gestion basique de fichiers
LPIC1 02 07 gestion basique de fichiersLPIC1 02 07 gestion basique de fichiers
LPIC1 02 07 gestion basique de fichiers
 
LPIC1 04 03 yum
LPIC1 04 03 yumLPIC1 04 03 yum
LPIC1 04 03 yum
 
LPIC1 05 03 les fichiers, dossiers et leurs propriétaires
LPIC1 05 03 les fichiers, dossiers et leurs propriétairesLPIC1 05 03 les fichiers, dossiers et leurs propriétaires
LPIC1 05 03 les fichiers, dossiers et leurs propriétaires
 
06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système
 
05 03 dépannage réseau
05 03 dépannage réseau05 03 dépannage réseau
05 03 dépannage réseau
 

Más de Noël

présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/LinuxNoël
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mountNoël
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfsNoël
 
LPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsLPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsNoël
 
LPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsLPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsNoël
 
LPIC1 07 12 formatage
LPIC1 07 12 formatageLPIC1 07 12 formatage
LPIC1 07 12 formatageNoël
 
LPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiersLPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiersNoël
 
LPIC1 07 10 GNU parted
LPIC1 07 10 GNU partedLPIC1 07 10 GNU parted
LPIC1 07 10 GNU partedNoël
 
LPIC1 07 09 fdisk
LPIC1 07 09 fdiskLPIC1 07 09 fdisk
LPIC1 07 09 fdiskNoël
 
LPIC1 07 07 introduction à la gestion des disques durs
LPIC1 07 07 introduction à la gestion des disques dursLPIC1 07 07 introduction à la gestion des disques durs
LPIC1 07 07 introduction à la gestion des disques dursNoël
 

Más de Noël (10)

présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linux
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mount
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfs
 
LPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsLPIC1 07 17 tune2fs
LPIC1 07 17 tune2fs
 
LPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsLPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fs
 
LPIC1 07 12 formatage
LPIC1 07 12 formatageLPIC1 07 12 formatage
LPIC1 07 12 formatage
 
LPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiersLPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiers
 
LPIC1 07 10 GNU parted
LPIC1 07 10 GNU partedLPIC1 07 10 GNU parted
LPIC1 07 10 GNU parted
 
LPIC1 07 09 fdisk
LPIC1 07 09 fdiskLPIC1 07 09 fdisk
LPIC1 07 09 fdisk
 
LPIC1 07 07 introduction à la gestion des disques durs
LPIC1 07 07 introduction à la gestion des disques dursLPIC1 07 07 introduction à la gestion des disques durs
LPIC1 07 07 introduction à la gestion des disques durs
 

LPIC1 13 01 scripting bash

  • 1. Linux LPIC1 – Comptia Linux+ noelmace.com Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Scripting Bash Connaissances complémentaires Licence Creative Commons Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
  • 2. Linux LPIC1 – Comptia Linux+ noelmace.com Plan • Introduction • Rappel : variables • Shebang • Sortie • Test • Expressions mathématiques • Composition • :Alternatives  -si sinon  Selon • :Boucles  Pour  Tant que • ’Lecture depuis l entrée standard • Lancement
  • 3. Linux LPIC1 – Comptia Linux+ noelmace.com Introduction • automatiser • comprendre
  • 4. Linux LPIC1 – Comptia Linux+ noelmace.com Rappel : variables • déclaration • paramètres de position : $#, $@, $*, $0, $1, $2, $3, etc … • valeur de sortie de la dernière commande : $? • PID du processus de script : $$ mavariable="valeur"mavariable="valeur"
  • 5. Linux LPIC1 – Comptia Linux+ noelmace.com Shebang • Première ligne d'un script • Indique qu'un fichier est un script • Suivit de l'interpréteur • Exemples : #!/bin/sh -x #!/bin/bash #!/usr/bin/perl #!/usr/bin/tcl #!/bin/sed -f #!/usr/awk -f #!/bin/sh -x #!/bin/bash #!/usr/bin/perl #!/usr/bin/tcl #!/bin/sed -f #!/usr/awk -f
  • 6. Linux LPIC1 – Comptia Linux+ noelmace.com Sortie • met fin à l'exécution du script • renvoi la valeur donnée  0 = bonne exécution = true exit [valeur]exit [valeur]
  • 7. Linux LPIC1 – Comptia Linux+ noelmace.com Test • ou • Exemples test expressiontest expression [ expression ][ expression ] [ 2 -lt 3 ][ 2 -lt 3 ] [ "$var1" != "$var2" ][ "$var1" != "$var2" ] [ -x /bin/bash ][ -x /bin/bash ]
  • 8. Linux LPIC1 – Comptia Linux+ noelmace.com Expressions mathématiques • calculer et afficher le résultat sur la sortie standard • exécuter une opération  ou • peu être précédé de $ pour enregistrer dans une variable ou afficher expr expressionexpr expression let expressionlet expression ((expression))((expression))
  • 9. Linux LPIC1 – Comptia Linux+ noelmace.com Composition • séquentielle : cmd1 ; cmd2 • parallèle : cmd1 & cmd2 • sur erreur (ou) : cmd1 || cmd2 • sur succès (et) : cmd1 && cmd2
  • 10. Linux LPIC1 – Comptia Linux+ noelmace.com Alternatives : si - sinon if test then instructions elif test then instructions … else instructions fi if test then instructions elif test then instructions … else instructions fi
  • 11. Linux LPIC1 – Comptia Linux+ noelmace.com Alternatives : Selon case variable in expr) instructions ;; … esac case variable in expr) instructions ;; … esac • Attention : case n'utilise pas d'expression régulière, mais du pattern matching
  • 12. Linux LPIC1 – Comptia Linux+ noelmace.com Boucles : Pour • Exemple : for var in [liste] do … done for var in [liste] do … done for (( i=1 ; i<=5 ; i++ )) do echo $i done for (( i=1 ; i<=5 ; i++ )) do echo $i done
  • 13. Linux LPIC1 – Comptia Linux+ noelmace.com Boucles : Tant que while test do … done while test do … done
  • 14. Linux LPIC1 – Comptia Linux+ noelmace.com Lecture depuis l’entrée standard read [-p prompt] [name...]read [-p prompt] [name...]
  • 15. Linux LPIC1 – Comptia Linux+ noelmace.com Lancement • ou ajouter le dossier au PATH $ ./script$ ./script $ bash script$ bash script
  • 16. Linux LPIC1 – Comptia Linux+ noelmace.com Ce qu’on a couvert • Comment s'écrit un script bash. • Comment lancer un script bash.
  • 17. Linux LPIC1 – Comptia Linux+ noelmace.com Licence Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France. Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à : Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Vous êtes libre de :  partager — reproduire, distribuer et communiquer cette œuvre  remixer — adapter l’œuvre Selon les conditions suivantes :  Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins d'en demander expressément la permission).  Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une autorisation explicite de l'auteur est requise.  Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci. Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration de ce support.