diff --git a/docs/cours/scripting/syntax.md b/docs/cours/scripting/syntax.md new file mode 100644 index 00000000..9a42f4e6 --- /dev/null +++ b/docs/cours/scripting/syntax.md @@ -0,0 +1,89 @@ +# Syntaxe Bash + +## Shebang + +Permet de définit l'interpréteur qu'on veut appliquer au script. +Il se place en tout début de script, et indique le chemin complet de l'exécutable. + +``` +#!/bin/bash +``` + +## Structures de contrôle + +### for .... do .... done + +Les actions entre `do` et `done` sont répétées pour chaque élément trouvées dans la liste qui suit `for`. +Chacun des éléments est enregistré dans une variable `i` qui est incrémentée à chaque passage de la boucle. + +``` +for i in liste ; do + action1 ; + action2 ; +done +``` + +### if .... then .... elif ... else ... fi + +### while .... do .... done + +while = tant que + +### until .... do .... done + +until = jusqu'à ce que + +## Les outils pour la manipulation du texte + +### cut + +### tail + +### head + +### sed + +### grep + +### tr + +``` +tr -s " " #supprime les ++space++ consécutifs +``` + +### tee + +La commande tee nous permet d'écrire les sorties d'une commande (sortie standard et sortie d'erreur) dans un fichier, tout en laissant les sortie s'afficher sur le terminal. + +``` +LOG=/home/admin/mon-log.txt +ma_commande 2>&1 |tee $LOG +``` + +### wc + +Compteur +``` +wc -l myfile.txt # donne le nombre de lignes du fichier +``` + +### awk + +``` +#awk -f {"substring"} +``` +## Bashism + +### string replacement ${"string"##"substring"} + +### Exécution conditionnelle $$ || + +### comparaisons [[ "string" == "otherstring" ]] ; [[ number -eq number ]] + +## Les fonctions + +### Déclaration d'une fonction + +### Appel d'une fonction + +### Les arguments \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 9e5c4e47..8f8216d6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -62,6 +62,8 @@ nav: - "Bac+1 DevOps": presentation-garage/formation/bacplusun-devops.md - Cours: - Introduction: cours/index.md + - Scripting Bash: + - cours/scripting/syntax.md - Python: - cours/python/index.md - cours/python/workspace.md