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
Prochaine révision Les deux révisions suivantes
doc:programmation:shells:tableaux [05/01/2015 05:59]
smolski [Utiliser des tableaux]
doc:programmation:shells:tableaux [20/10/2015 19:17]
milou doc:programmation:bash:script:tableaux renommé en doc:programmation:shells:tableaux (Erreur de placement, page replacée)
Ligne 1: Ligne 1:
-====== script bash : les tableaux ​======+====== script bash : Tableaux ​======
  
-  * Niveau requis : {{tag>​débutant}}+  ​* Objet : script bash : Tableaux 
 +  ​* Niveau requis : {{tag>​débutant ​avisé}} 
 +  * 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 : {{tag>​à-placer}} +  * Suivi :  
-    * Création par [[user>​Hypathie]] 18/​03/​2014 +    * Création par [[user>​Hypathie]] ​le 18/​03/​2014 
-    * Testé par <​Hypathiele <Juin 2014> +    * Testé par [[user>Hypathie]] ​Juin 2014 
-  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=92203#p92203 ​| 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]]
   * ;-)   * ;-)
-  * [[atelier:chantier:script-bash-les-fonctions|script-bash-les-fonctions]]+  * [[doc:programmation:bash:​script:​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 23: Ligne 29:
 <note important>​ <note important>​
 Les tableaux ne sont pas spécifiés par POSIX.\\ ​ Les tableaux ne sont pas spécifiés par POSIX.\\ ​
-Les tableaux indexés unidimensionnels sont pris en charge en utilisant la syntaxe et la sémantique similaire ​par la plupart des shells comme Korn.\\ ​+Les tableaux indexés unidimensionnels sont pris en charge en utilisant la syntaxe et la sémantique similaire ​à la plupart des shells comme Korn.\\ ​
 Pour plus détails voir : [[http://​wiki.bash-hackers.org/​syntax/​arrays]] Pour plus détails voir : [[http://​wiki.bash-hackers.org/​syntax/​arrays]]
 </​note>​ </​note>​
Ligne 62: Ligne 68:
 === Exemple === === Exemple ===
  
-<code bash>+<code bash script>
 #!/bin/bash #!/bin/bash
 array=([2]=nom1 nom2 [6]=nom3) ​  # (1)  array=([2]=nom1 nom2 [6]=nom3) ​  # (1) 
Ligne 81: Ligne 87:
 ./​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 87: Ligne 93:
 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 129: Ligne 138:
  
  
-=====Voici un script qui utilise tout cela=====+===== Exemple ​=====
  
 <code bash> <code bash>
Ligne 164: Ligne 173:
 </​code>​ </​code>​
  
 +===== Nombres entiers =====
  
- 
-=====2)Tableau et nombres entiers===== 
 Si l'on souhaite créer un tableau d'​entiers,​ on utilise la commande ''​declare''​ avec l'​option ''​-ai''​.\\ ​ Si l'on souhaite créer un tableau d'​entiers,​ on utilise la commande ''​declare''​ avec l'​option ''​-ai''​.\\ ​
 (l'​ordre des options n'a pas d'​importance.) (l'​ordre des options n'a pas d'​importance.)
Ligne 181: Ligne 189:
 echo ${t[@]} echo ${t[@]}
 </​code>​ </​code>​
 +
 <code user> <code user>
 ./​mon-script ./​mon-script
 </​code>​ </​code>​
-<code>+ 
 +<file config retour de la commande>
 18 2 -2 18 2 -2
 2 4 6 2 4 6
Ligne 190: Ligne 200:
 5 6 7 8 9  5 6 7 8 9 
 5 6 7 8 9 5 6 7 8 9
-</code+</file> 
-=====3) Ajoutsuppression ​dans les tableaux=====+ 
 +===== 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>
Ligne 200: Ligne 212:
 echo ${tableau[*]} echo ${tableau[*]}
 </​code>​ </​code>​
 +
 <​code>​ <​code>​
 3 3
Ligne 219: Ligne 232:
 colorless noir blanc colorless noir blanc
 </​code>​ </​code>​
 +
   * 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] ...''​
  
-=====4) Un tableau ​associatif=====+===== Tableau ​associatif ===== 
 Un tableau associatif est un tableau uni-dimentionnel à ceci près que les index sont des chaînes de caractères.\\ ​ Un tableau associatif est un tableau uni-dimentionnel à ceci près que les index sont des chaînes de caractères.\\ ​
-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[@]}'';​
   ​   ​
Ligne 237: Ligne 254:
    done    done
 </​code>​ </​code>​
 +
 <code user> <code user>
 ./​mon-script ./​mon-script
 </​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 ​"de toutes"​ les valeurs.+  * Il faut utiliser ''​@''​ (et non ''​*''​) pour que la boucle permette d'​afficher ​**chacune ​des valeurs**.
  
 +===== Conclusion =====
  
-===== Conclusion =====+==== Récapitulatif ​====
  
-==== Récapitulatif==== 
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Ligne 277: Ligne 295:
 </​code>​ </​code>​
  
-==== Se creuser un peu les méninges==== +==== Se creuser un peu les méninges ==== 
-Comparez ses méthodes pour associer à l'​affichage,​ un à un , deux éléments du retours :\\ + 
-  * Avec un tableau : +Comparez ses méthodes pour associer à l'​affichage,​ un à un , deux éléments du retours : 
-<code bash>+  * Avec un tableau :<code bash>
 #​!/​bin/​bash ​                           #​!/​bin/​bash ​                          
 tableau=([1]=a [2]=b [3]=c) ​           tableau=([1]=a [2]=b [3]=c) ​          
Ligne 299: Ligne 317:
 **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 [[atelier:chantier:​script-bash-les-fonctions|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:​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]] 
  
 ==== Une astuce ==== ==== Une astuce ====
Ligne 317: 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 =====
  
-[[atelier:chantier:script-bash-les-fonctions|script-bash-les-fonctions]]+  * [[doc:programmation:bash:​script:​fonction|script-bash-les-fonctions]]
doc/programmation/shells/tableaux.txt · Dernière modification: 23/02/2023 02:34 par agp91

Pied de page des forums

Propulsé par FluxBB