Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [03/06/2014 16:32] Hypathie [G ) Déclarer des paramètres de position : set] |
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [03/06/2014 16:43] Hypathie [H) Les tableaux] |
||
---|---|---|---|
Ligne 303: | Ligne 303: | ||
- | =====H) Les tableaux ===== | ||
- | **Voir : [[atelier:chantier:page-man-bash-v-les-tableaux|shell bash : les tableaux]]** | ||
- | |||
- | * **Rappels :** | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | tab=( rouge vert bleu) | ||
- | echo ${tab[1]} | ||
- | echo ${tab[@]} | ||
- | |||
- | tab[1]="orange" | ||
- | echo ${tab[1]} | ||
- | echo ${tab[@]} | ||
- | |||
- | echo $tab # $tab est un équivalment de $tab0 : il affichera le première élément | ||
- | |||
- | echo ${tab[@]} # affiche tous les éléments de même ${tab[*]} | ||
- | echo ${#tab[@]} # pour avoir la longueur (nombres d'éléments dans le tableau): ${tab[@]} -1 | ||
- | (moins un car on commence à zéro! | ||
- | tab[8]="vert" # nlle affectation sur tab[8] | ||
- | echo ${!tab[@]} # ! avoir la liste des indices du tableau | ||
- | echo ${tab[@]} | ||
- | |||
- | for i in ${!tab[*]} ; do | ||
- | echo $i : ${tab[$i]} | ||
- | done | ||
- | </code> | ||
- | |||
- | * ** Comparez :** | ||
- | Avec tableau : | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | tableau=([1]=a [2]=b [3]=c) | ||
- | for var in "${!tableau[@]}" ; do | ||
- | echo "$var : ${tableau[$var]}" | ||
- | done | ||
- | </code> | ||
- | |||
- | Le script d'enikar : | ||
- | |||
- | <code bash> | ||
- | set a b c | ||
- | n=1 | ||
- | for v in $@ ; do | ||
- | echo "$n: $v" | ||
- | let $[ n += 1 ] | ||
- | done | ||
- | </code> | ||
- | **Merci à enikar pour cette réflexion sur IRC** | ||
- | |||
- | * astuce : lister avec numérotation tous les fichiers d'un répertoire : | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | directory=(/*) # tableau composé des chemins de les dossiers et fichiers de la racine | ||
- | |||
- | for i in ${!directory[@]} ; do | ||
- | echo "$i : ${directory[$i]}" # là pour afficher tous les éléments du tableau | ||
- | done | ||
- | </code> | ||
=====I ) Les fonctions===== | =====I ) Les fonctions===== |