Gestionreseau Wiki
Advertisement

Précédent : 2017-12-08 / 420-C42-MA / Matériel et système d'exploitation client 2

Scripting en bash (suite)[]

La manipulation de chaînes de caractères[]

  • [ chaîne1 > chaîne2 ] ― compare l'ordre de tri de deux chaînes
  • [ chaîne1 == chaîne2 ] ― compare les caractères de deux chaînes
  • ...

Exemple :

if [ $1 == $2 ] ; then 
  echo -e "Les mêmes"
else
  echo -e "Pas les mêmes"
fi

Exemple 2 :

fichier=$1
if [ -f "$fichier" ] ; then
  echo -e "Le fichier existe"
else
  echo -e "Le fichier n\'existe pas"
fi

Longueur :

longueur=${#nom}

Extraction d'une partie d'une chaîne de caractères[]

Exemple 1 :

nom="srv01.profsavard.info"
NomServeur=${nom:0:5}     # une partie fixe
NomDomaine=${domaine#*.}  # une partie après .
echo -e "Domaine : $NomDomaine, Serveur : $NomServeur"

Les expressions booléennes[]

Sur commandes :[]

  • commande1 && commande2
  • commande1 || commande2
  • ! commande1

Les tests des expressions bool[]

...

La déclaration case[]

Tampon :

read char
case "$char" in
  "a"|"A") echo "..." ;;
  "e"|"E") echo "..." ;;
  *      ) echo "..." ;;
esac

La création de boucles[]

Exemple for :[]

sum=0
for i in 1 2 3 4 ; do
  sum=$(($sum+$i))
done
echo "La somme est $sum"

Exemple while :[]

...

Exemple until :[]

...

Débogage de script[]

bash -x ./script.sh

-x ― executer en mode debug.

On peut mettre -x dans le script :

#!/bin/bash
set -x

...
Advertisement