#!/bin/bash #Les "echo" les plus à droite sont là pour expliquer lors du retour ce qui s'y passe dans ce script. VAR="$1" echo "La valeur de VAR est: $VAR." echo "Il y a "$#" paramètres." echo "Le paramètre n°1 est "$1" (la 'ER')." echo "Le paramètre n°2 est "$2" (deuxième argument, chaine1 à matcher)." echo "Le paramètre n°2 est "$3" (le troisième argument, chaine2 à matcher." echo " " shift echo "Avec 'shift', on se décale d'un paramètre." echo "Après 'shift', il reste donc: "$#" paramètre(s)." echo "Et ce(s) paramètre(s) sont: "$1", "$2"." echo "("$1": ancien deuxième paramètre devenu paramètre 1 après shift)." echo "("$2": ancien troisième paramètre devenu paramètre 2 après shift.)" echo " " echo "MAIS LA VALEUR DE VAR RESTE la 'ER' : "$VAR"." for i in "$@" do echo " " echo "'for i in \$@': la variable i aura, boucle après boucle, les VALEURS: "$@"," echo "(attribués à chaque tour de boucle à variable "i".)" echo "c'est-à-dire lors de la boucle n°1, elle est identique au paramètre n°1: "$1"." echo "puis lors de la boule n°2, elle est identique au paramètre n°2 : "$2"." echo " " echo "On peut donc donner à grep la chaine:$i comme entrée par le tube," echo "et comme motif le 'ER': $VAR." echo "$i" | grep -E "$VAR" > /dev/null if [ $? -eq 0 ] then echo " " echo " BRAVO ! La ER: $VAR correspond au motif "$i" " else echo " " echo " ERREUR ! La ER: $VAR ne correspond pas au motif: $i " echo " " fi done # ligne 33 (if) : $? (code de retour) -eq (égal à) zéro (pas d'erreur de sortie, donc bonne correspondance)