Il s'agit d'un ensemble de scripts bash conçus pour faciliter l'administration quotidienne de votre système. De plus, ces scripts constituent une excellente ressource pour ceux qui aiment apprendre par la pratique. J'y ai également inclus un aide-mémoire rapide pour vous aider à comprendre les scripts présentés ci-dessus.
Ceci n'est pas destinee a celui qui va de zero mais pour vise des gens avec deja des base dans l'ecriture des script
Voici quelques composants de base des expressions régulières :
- Caractères ordinaires : Représentent eux-mêmes (ex.
a,b,1,2). - Points : Le point (
.) correspond à n'importe quel caractère unique. - Crochets : Les crochets (
[]) correspondent à n'importe quel caractère unique à l'intérieur.[abc]correspond àa,bouc.[a-z]correspond à n'importe quelle lettre minuscule.
- Caret (^) et Dollar ($) : Utilisés pour correspondre au début (^) ou à la fin ($) d'une ligne.
^abccorrespond àabcau début d'une ligne.abc$correspond àabcà la fin d'une ligne.
- Barre verticale (|) : Correspondance de l'une des expressions séparées par
|.a|bcorrespond àaoub.
Les quantificateurs spécifient combien de fois un élément doit être présent pour correspondre :
*: 0 ou plus fois.+: 1 ou plus fois.?: 0 ou 1 fois.{n}: Exactementnfois.{n,}: Au moinsnfois.{n,m}: Entrenetmfois.
- Parenthèses : Utilisées pour grouper des éléments.
(abc)+correspond àabc,abcabc, etc.
- Plages de caractères : Définies avec des tirets.
[a-zA-Z]correspond à toute lettre majuscule ou minuscule.
Les métacaractères ont des significations spéciales :
- \d : Correspond à un chiffre (0-9).
- \w : Correspond à un caractère de mot (lettres, chiffres, soulignés).
- \s : Correspond à un espace blanc (espace, tabulation, etc.).
- \b : Correspond à une limite de mot.
grep
grep 'pattern' file- Utilisez
-Epour les expressions régulières étendues. - Utilisez
-ipour ignorer la casse.awk
awk '/pattern/ { print }' fileecho "Hello World" | grep -E "Hello|World"echo "Hello 123 World" | sed -E 's/[0-9]+/NUM/'echo "abc123xyz" | awk '{ if ($0 ~ /[0-9]+/) print $0 }'If-Else Syntaxe de base :
if [ condition ]; then
# Commandes si la condition est vraie
elif [ another_condition ]; then
# Commandes si another_condition est vraie
else
# Commandes si aucune condition n'est vraie
fiExemple:
#!/bin/bash
read -p "Entrez un nombre : " number
if [ $number -gt 10 ]; then
echo "Le nombre est plus grand que 10"
elif [ $number -eq 10 ]; then
echo "Le nombre est égal à 10"
else
echo "Le nombre est plus petit que 10"
fiCase Syntaxe de base :
case "$variable" in
pattern1)
# Commandes pour pattern1
;;
pattern2)
# Commandes pour pattern2
;;
*)
# Commandes pour tout autre cas
;;
esacExemple:
#!/bin/bash
read -p "Entrez une lettre : " letter
case "$letter" in
[a-z])
echo "Vous avez entré une lettre minuscule"
;;
[A-Z])
echo "Vous avez entré une lettre majuscule"
;;
[0-9])
echo "Vous avez entré un chiffre"
;;
*)
echo "Vous avez entré un caractère spécial"
;;
esacFor Loop Syntaxe de base :
for variable in list; do
# Commandes pour chaque élément de la liste
doneExemple :
#!/bin/bash
for i in {1..5}; do
echo "Itération $i"
doneWhile Loop Syntaxe de base :
while [ condition ]; do
# Commandes tant que la condition est vraie
doneExemple :
#!/bin/bash
count=1
while [ $count -le 5 ]; do
echo "Itération $count"
count=$((count + 1))
doneExemple de boucles imbriquées :
#!/bin/bash
for i in {1..3}; do
echo "Boucle externe : $i"
for j in {1..2}; do
echo " Boucle interne : $j"
done
donePour rediriger la sortie standard d'une commande vers un fichier, utilisez le symbole >.
Syntaxe :
command > fileExemple :
echo "Hello, World!" > output.txtPour rediriger l'entrée standard d'une commande à partir d'un fichier, utilisez le symbole <.
Syntaxe :
commande < fichierExemple:
ls /nonexistent_directory 2> error.txtPour rediriger la sortie standard et l'erreur standard vers le même fichier, utilisez &>.
Syntaxe :
commande &> fichierExemple :
ls /nonexistent_directory &> output_and_error.txtPour ajouter à la fin d'un fichier plutôt que de l'écraser, utilisez >> pour stdout et 2>> pour stderr.
Exemple :
echo "New Line" >> output.txt
ls /nonexistent_directory 2>> error.txtPour rediriger stdout et stderr vers des fichiers différents, utilisez > et 2>.
Syntaxe :
commande > fichier_sortie 2> fichier_erreurExemple :
ls /nonexistent_directory > output.txt 2> error.txtPour rediriger stdout vers stderr, utilisez 1>&2.
Syntaxes:
commande 1>&2Exemples:
echo "This is an error message" 1>&2Pour rediriger stderr vers stdout, utilisez 2>&1.
Syntaxe :
commande 2>&1Exemple:
ls /nonexistent_directory > output_and_error.txt 2>&1Pour rediriger la sortie standard d'une commande vers l'entrée standard d'une autre commande, utilisez le symbole | (pipe).
Syntaxe :
commande1 | commande2Exemple :
cat input.txt | grep "search_term"Pour rediriger la sortie ou l'erreur vers null (suppression de la sortie), utilisez /dev/null.
Syntaxe :
commande > /dev/null 2>&1Exemple :
ls /nonexistent_directory > /dev/null 2>&1Ce Aide-memoire sera probablement ajouter avec le temps profitez en.
Romuald DJETEJE