Académique Documents
Professionnel Documents
Culture Documents
Scripting Avancé
Scripting Avancé
Scripting avancé
LES TABLEAUX
Qu'est-ce qu'un tableau ?
• En bash il est possible de créer des tableaux à une
dimension.
VARIABLE 0
1 2
1 3
2 4
3 5
4
Valeur1
Valeur0 Valeur2
Valeur1 Valeur3
Valeur2 Valeur4
Valeur3 valeur5
valeur4
La syntaxe
• Pour bien comprendre la syntaxe reprenons le tableau
précédent :
VARIABLE 0 1 2 3 4
Valeur0 Valeur1 Valeur2 Valeur3 valeur4
echo ${VARIABLE[1]}
valeur1
Utilisation des wildcards
• On peut remplacer l'indice qui est situé entre crochets par
des wildcards.
echo ${VARIABLE[*]}
valeur0 valeur1 valeur2 valeur3 valeur4
•
COMMANDE READ
Avancée
Utilisation du read pour les tableaux
• Il est tout à fait possible d'utiliser la commande read pour
stocker des valeurs dans un tableau.
read –a NOM_DU_TABLEAU
echo ${NOM_DU_TABLEAU[0]}
valeur0
Utilisation du read pour les tableaux (2)
• On peut décider d'afficher toutes les valeurs contenues
dans le tableau grâce au caractère * ou @ :
read –a NOM_DU_TABLEAU
valeur0 valeur1 valeur2
echo ${NOM_DU_TABLEAU[*]}
valeur0 valeur1 valeur2
echo ${NOM_DU_TABLEAU[@]}
valeur0 valeur1 valeur2
Et si on ne spécifie pas de variables ?
• Lorsque l'on exécute la commande read, mais qu'on ne
spécifie pas de variables à associer au contenu rentré par
l'utilisateur, la chaîne saisie sera stockée dans une
variable interne appelée $REPLY
read
valeur0
echo $REPLY
valeur0
Mettre une variable en lecture seule
• On peut utiliser la commande readonly pour verrouiller contre
toute modification et suppression la variable spécifiée.
debian:/home/jordan# PRENOM="Jordan"
debian:/home/jordan# ./script_export.sh
La variable prenom a pour valeur
./script.sh
je
Arithmétique sur les variables
• La commande expr réalise ls opérations mathématiques
demandées :
• + : addition
• - : soustraction
• \* : multiplication
• / : division euclidienne
• % : modulo
• Syntaxe :
i=5
j=`expr $i + 4`
echo $j
9
Découper des lignes avec cut
• La commande cut permet de sélectionner un champ ou
un caractère précis dans une ligne. Elle prend différentes
options :
• -f : découpe la ligne suivant le caractère tabulation
• -d : spécifie un autre caractère de séparation
• -s : ignore les lignes ne contenant pas de caractère de séparation
Ligne numéro 8.
Utilisation de sed (suppression)
• Afficher toutes les lignes exceptée la ligne numéro 8 :
sed 's/element_a_substituer/element_substituant/'
sed 's/element_a_substituer/element_substituant/g'
Utilisation de sed (Translittération)
• Pour effectuer une translittération il faut utiliser la syntaxe :
sed 'y/liste_a_translitterer/liste_de_translittération/'
sed 'y/éè/ee/'