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 | Révision précédente | ||
doc:programmation:shells:tableaux [21/10/2015 13:47] milou [Exemple] |
doc:programmation:shells:tableaux [23/02/2023 02:34] (Version actuelle) agp91 [Conclusion] |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
- | ------ | ||
**Nota : Les autres wiki :** | **Nota : Les autres wiki :** | ||
Ligne 22: | Ligne 21: | ||
* [[doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sortie-et-les-tests]] | * [[doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sortie-et-les-tests]] | ||
* ;-) | * ;-) | ||
- | * [[doc:programmation:bash:script:fonction|script-bash-les-fonctions]] | + | * [[doc:programmation:shells:fonction|script-bash-les-fonctions]] |
Ligne 68: | Ligne 67: | ||
=== Exemple === | === Exemple === | ||
- | <code bash script> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
array=([2]=nom1 nom2 [6]=nom3) # (1) | array=([2]=nom1 nom2 [6]=nom3) # (1) | ||
Ligne 140: | Ligne 139: | ||
===== Exemple ===== | ===== Exemple ===== | ||
- | <code bash script> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
# méthodes 1 : | # méthodes 1 : | ||
Ligne 178: | Ligne 177: | ||
(l'ordre des options n'a pas d'importance.) | (l'ordre des options n'a pas d'importance.) | ||
Les syntaxes précédentes peuvent aussi être utilisées : | Les syntaxes précédentes peuvent aussi être utilisées : | ||
- | <code bash> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
declare -ai tab=(18 2 -2) | declare -ai tab=(18 2 -2) | ||
Ligne 205: | Ligne 204: | ||
* Pour ajouter un élément à un tableau : ''tableau[${#tableau[*]}]=element'' | * Pour ajouter un élément à un tableau : ''tableau[${#tableau[*]}]=element'' | ||
- | <code bash> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
tableau=( bleu jaune rouge ) | tableau=( bleu jaune rouge ) | ||
Ligne 220: | Ligne 219: | ||
* Pour ajouter un élément au début d'un tableau : ''tableau=( element ${tableau[*]} )'' | * Pour ajouter un élément au début d'un tableau : ''tableau=( element ${tableau[*]} )'' | ||
- | <code bash> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
tab=( noir blanc ) | tab=( noir blanc ) | ||
Ligne 245: | Ligne 244: | ||
* la valeur se récupère ainsi : ''${tableau[@]}''; | * la valeur se récupère ainsi : ''${tableau[@]}''; | ||
| | ||
- | <code bash> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
declare -A eleves=([secondeA]=30 [secondeB]=29) | declare -A eleves=([secondeA]=30 [secondeB]=29) | ||
Ligne 271: | Ligne 270: | ||
==== Récapitulatif ==== | ==== Récapitulatif ==== | ||
- | <code bash> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
tab=( rouge vert bleu) | tab=( rouge vert bleu) | ||
Ligne 298: | Ligne 297: | ||
Comparez ses méthodes pour associer à l'affichage, un à un , deux éléments du retours : | Comparez ses méthodes pour associer à l'affichage, un à un , deux éléments du retours : | ||
- | * Avec un tableau :<code bash> | + | * Avec un tableau :<code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
tableau=([1]=a [2]=b [3]=c) | tableau=([1]=a [2]=b [3]=c) | ||
for var in "${!tableau[@]}" ; do | for var in "${!tableau[@]}" ; do | ||
- | echo "$var : ${tableau[$var]}" | + | echo "$var : ${tableau[$var]}" |
done | done | ||
</code> | </code> | ||
* Avec les paramètres de position et une boucle : | * Avec les paramètres de position et une boucle : | ||
- | <code bash> | + | <code bash mon-scipt> |
set a b c | set a b c | ||
n=1 | n=1 | ||
- | for v in $@ ; do | + | for v in $@ |
- | echo "$n: $v" | + | do |
- | let $[ n += 1 ] | + | echo "$n: $v" |
+ | ((n++)) | ||
done | done | ||
</code> | </code> | ||
**Merci à enikar pour ce script et cette réflexion sur IRC** 8-) | **Merci à enikar pour ce script et cette réflexion sur IRC** 8-) | ||
- | Mais aussi, après avoir vu [[doc:programmation:bash:script:fonction|script-bash-les-fonctions]] avec le script de captnfab : [[doc:programmation:shell:avancee#les-fonctions|Fonctionnalités avancées du Shell: Les fonctions]] | + | Mais aussi, après avoir vu [[doc:programmation:shells:fonction|script-bash-les-fonctions]] avec le script de captnfab : [[doc:programmation:shell:avancee#les-fonctions|Fonctionnalités avancées du Shell: Les fonctions]] |
Ligne 324: | Ligne 324: | ||
Lister avec numérotation tous les fichiers d'un répertoire | Lister avec numérotation tous les fichiers d'un répertoire | ||
- | <code bash> | + | <code bash mon-script> |
#!/bin/bash | #!/bin/bash | ||
directory=(/*) # (1) | directory=(/*) # (1) | ||
Ligne 340: | Ligne 340: | ||
===== La suite c'est ici ===== | ===== La suite c'est ici ===== | ||
- | * [[doc:programmation:bash:script:fonction|script-bash-les-fonctions]] | + | * [[doc:programmation:shells:fonction|script-bash-les-fonctions]] |