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 [13/04/2015 19:47]
milou [script bash : Tableaux]
doc:programmation:shells:tableaux [23/02/2023 02:34] (Version actuelle)
agp91 [Conclusion]
Ligne 2: Ligne 2:
  
   * Objet : script bash : Tableaux   * Objet : script bash : Tableaux
-  * Niveau requis : {{tag>​débutant}}+  * Niveau requis : {{tag>​débutant ​avisé}}
   * Commentaires : FIXME   * Commentaires : FIXME
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
   * Suivi :    * Suivi : 
-    * Création par [[user>​Hypathie]] 18/​03/​2014 +    * Création par [[user>​Hypathie]] ​le 18/​03/​2014 
-    * Testé par [[user>​Hypathie]] ​le <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 !
  
------- 
  
 **Nota : Les autres wiki :** **Nota : Les autres wiki :**
-  * [[atelier:chantier:​debuter-avec-les-scripts-shell-bash]] +  * [[doc:programmation:​shells:​debuter-avec-les-scripts-shell-bash]] 
-  * [[atelier:chantier:​script-bash-variables-arguments-parametres|script-bash-variables-arguments-parametres]] +  * [[doc:programmation:​shells:​script-bash-variables-arguments-parametres|script-bash-variables-arguments-parametres]] 
-  * [[atelier:chantier:​script-bash-detail-sur-les-parametres-et-les-boucles|modification de variable et de paramètre]]  +  * [[doc:programmation:​shells:​script-bash-detail-sur-les-parametres-et-les-boucles|modification de variable et de paramètre]]  
-  * [[atelier:chantier:​script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] +  * [[doc:programmation:​shells:​script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] 
-  * [[atelier:chantier:​script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-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]]
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! 
  
 ===== Utiliser des tableaux ===== ===== Utiliser des tableaux =====
Ligne 66: 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 85: 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 91: 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 135: Ligne 139:
 ===== Exemple ===== ===== Exemple =====
  
-<code bash>+<code bash mon-script>
 #!/bin/bash #!/bin/bash
 # méthodes 1 : # méthodes 1 :
Ligne 173: 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 189: Ligne 193:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 18 2 -2 18 2 -2
 2 4 6 2 4 6
Ligne 195: 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 215: 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 229: 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 236: 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 252: 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 264: 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 291: 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 317: 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 329: 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.1428947273.txt.gz · Dernière modification: 13/04/2015 19:47 par milou

Pied de page des forums

Propulsé par FluxBB