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