logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:programmation:shells:tableaux [20/10/2015 17:44]
milou [script bash : Tableaux]
doc:programmation:shells:tableaux [23/02/2023 02:34] (Version actuelle)
agp91 [Conclusion]
Ligne 8: Ligne 8:
     * Création par [[user>​Hypathie]] le 18/03/2014     * Création par [[user>​Hypathie]] le 18/03/2014
     * Testé par [[user>​Hypathie]] Juin 2014     * Testé par [[user>​Hypathie]] Juin 2014
-  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=9181 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))+  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=142812#​p142812 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
  
 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>+<code bash mon-script>
 #!/bin/bash #!/bin/bash
 array=([2]=nom1 nom2 [6]=nom3) ​  # (1)  array=([2]=nom1 nom2 [6]=nom3) ​  # (1) 
Ligne 87: Ligne 86:
 ./​mon-script ./​mon-script
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 2 3 6    ​ 2 3 6    ​
 0 1 2    ​ 0 1 2    ​
Ligne 93: Ligne 92:
 nom nom nom nom nom nom nom nom nom nom
 0 1 2 3 4  0 1 2 3 4 
-</code>+</file>
 >''​2 3 6''​ : la première valeur a l'​indice 2 ; la deuxième a l'​indice 3 ; la troisième a l'​indice 6. >''​2 3 6''​ : la première valeur a l'​indice 2 ; la deuxième a l'​indice 3 ; la troisième a l'​indice 6.
 +>
 >''​0 1 2''​ : Il y a une valeur dans les cases d'​indice 0, d'​indice 1, d'​indice 2. >''​0 1 2''​ : Il y a une valeur dans les cases d'​indice 0, d'​indice 1, d'​indice 2.
 +>
 >''​0 1 2''​ : idem >''​0 1 2''​ : idem
->''​0 1 2 3 4''​ : Sans indice donné manuellement,​ les indices attribués aux valeurs\\  ​suivent l'​ordre des entiers naturels ​ en __commençant à zéro__.+
 +>''​0 1 2 3 4''​ : Sans indice donné manuellement,​ les indices attribués aux valeurs suivent l'​ordre des entiers naturels ​ en __commençant à zéro__.
    
 ==== Récupération de valeur(s) ==== ==== Récupération de valeur(s) ====
Ligne 137: Ligne 139:
 ===== Exemple ===== ===== Exemple =====
  
-<code bash>+<code bash mon-script>
 #!/bin/bash #!/bin/bash
 # méthodes 1 : # méthodes 1 :
Ligne 175: 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 191: Ligne 193:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 18 2 -2 18 2 -2
 2 4 6 2 4 6
Ligne 197: Ligne 199:
 5 6 7 8 9  5 6 7 8 9 
 5 6 7 8 9 5 6 7 8 9
-</code>+</file>
  
 ===== Ajout suppression ===== ===== Ajout suppression =====
  
   * 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 217: 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 231: Ligne 233:
  
   * pour supprimer un tableau : ''​unset nom-tableau''​   * pour supprimer un tableau : ''​unset nom-tableau''​
 +
   * pour supprimer la case d'un tableau : ''​unset nom-tableau[indice] ...''​   * pour supprimer la case d'un tableau : ''​unset nom-tableau[indice] ...''​
  
Ligne 238: Ligne 241:
 Il en va de même que précédemment : Il en va de même que précédemment :
   * l'​indice se récupère ainsi : ''​${!tableau[@]}'';​   * l'​indice se récupère ainsi : ''​${!tableau[@]}'';​
 +
   * 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 254: Ligne 258:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 l'​indice ici nom de la classe est : secondeB l'​indice ici nom de la classe est : secondeB
 le nombre d'​élèves est ici la valeur : 29 le nombre d'​élèves est ici la valeur : 29
 l'​indice ici nom de la classe est : secondeA l'​indice ici nom de la classe est : secondeA
 le nombre d'​élèves est ici la valeur : 30 le nombre d'​élèves est ici la valeur : 30
-</code>+</file>
   * Il faut utiliser ''​@''​ (et non ''​*''​) pour que la boucle permette d'​afficher **chacune des valeurs**.   * Il faut utiliser ''​@''​ (et non ''​*''​) pour que la boucle permette d'​afficher **chacune des valeurs**.
  
Ligne 266: 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 293: 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 319: 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 331: Ligne 336:
 >(2) : Pour afficher tous les éléments du tableau. >(2) : Pour afficher tous les éléments du tableau.
  
-Pour d'​autres exemples: [[atelier:​chantier:​page-man-bash-v-les-tableaux#​tableau-et-iteration-for|shell bash : tableaux et itération for]]+
  
 ===== 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]]
doc/programmation/shells/tableaux.1445355867.txt.gz · Dernière modification: 20/10/2015 17:44 par milou

Pied de page des forums

Propulsé par FluxBB