Linux LPIC1 – Comptia Linux+ noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noe...
Linux LPIC1 – Comptia Linux+ noelmace.com
Plan
• Introduction
• Rappel : variables
• Shebang
• Sortie
• Test
• Expressions...
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, ...
Linux LPIC1 – Comptia Linux+ noelmace.com
Shebang
• Première ligne d'un script
• Indique qu'un fichier est un script
• Sui...
Linux LPIC1 – Comptia Linux+ noelmace.com
Sortie
• met fin à l'exécution du script
• renvoi la valeur donnée
 0 = bonne e...
Linux LPIC1 – Comptia Linux+ noelmace.com
Test
• ou
• Exemples
test expressiontest expression
[ expression ][ expression ]...
Linux LPIC1 – Comptia Linux+ noelmace.com
Expressions mathématiques
• calculer et afficher le résultat sur la sortie stand...
Linux LPIC1 – Comptia Linux+ noelmace.com
Composition
• séquentielle : cmd1 ; cmd2
• parallèle : cmd1 & cmd2
• sur erreur ...
Linux LPIC1 – Comptia Linux+ noelmace.com
Alternatives : si - sinon
if test
then
instructions
elif test
then
instructions
...
Linux LPIC1 – Comptia Linux+ noelmace.com
Alternatives : Selon
case variable in
expr)
instructions
;;
…
esac
case variable...
Linux LPIC1 – Comptia Linux+ noelmace.com
Boucles : Pour
• Exemple :
for var in [liste]
do
…
done
for var in [liste]
do
…
...
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] [nam...
Linux LPIC1 – Comptia Linux+ noelmace.com
Lancement
• ou ajouter le dossier au PATH
$ ./script$ ./script
$ bash script$ ba...
Linux LPIC1 – Comptia Linux+ noelmace.com
Ce qu’on a couvert
• Comment s'écrit un script bash.
• Comment lancer un script ...
Linux LPIC1 – Comptia Linux+ noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est ...
Prochain SlideShare
Chargement dans…5
×

LPIC1 13 01 scripting bash

473 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
473
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
42
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LPIC1 13 01 scripting bash

  1. 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. 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. 3. Linux LPIC1 – Comptia Linux+ noelmace.com Introduction • automatiser • comprendre
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 13. Linux LPIC1 – Comptia Linux+ noelmace.com Boucles : Tant que while test do … done while test do … done
  14. 14. Linux LPIC1 – Comptia Linux+ noelmace.com Lecture depuis l’entrée standard read [-p prompt] [name...]read [-p prompt] [name...]
  15. 15. Linux LPIC1 – Comptia Linux+ noelmace.com Lancement • ou ajouter le dossier au PATH $ ./script$ ./script $ bash script$ bash script
  16. 16. Linux LPIC1 – Comptia Linux+ noelmace.com Ce qu’on a couvert • Comment s'écrit un script bash. • Comment lancer un script bash.
  17. 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.

×