User Tools

Site Tools


informatique:linux:programmation_shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
informatique:linux:programmation_shell [2020/01/08 10:57] – [Typage] declare pteuinformatique:linux:programmation_shell [2020/01/14 09:01] – [Les tableaux] Exemple de découpage d'une chaîne dans un tableau pteu
Line 77: Line 77:
  
 Pour plus de détails sur le pseudo-typage en bash, voir la fonction [[informatique:linux:commandes_linux#declare|declare]]. Pour plus de détails sur le pseudo-typage en bash, voir la fonction [[informatique:linux:commandes_linux#declare|declare]].
 +
 ===== Manipulation des variables===== ===== Manipulation des variables=====
  
Line 129: Line 130:
   * ''IFS="\n"'' (Internal Field Separator) le séparateur de champ est "ENTER" (utilisée par la commande read)   * ''IFS="\n"'' (Internal Field Separator) le séparateur de champ est "ENTER" (utilisée par la commande read)
   * ''$PWD'' renvoie le chemin du shell depuis lequel est lancé le script (équivalent à pwd) ; c'est complémentaire de ''$0''   * ''$PWD'' renvoie le chemin du shell depuis lequel est lancé le script (équivalent à pwd) ; c'est complémentaire de ''$0''
- 
  
  
Line 154: Line 154:
 trois trois
 </code> </code>
 +
 +Exemple de découpage d'une chaîne dans un tableau, avec comme séparateur ";" :
 +<code bash>
 +CHAINE='17;8 23;9'
 +IFS=";"                       # définition du séparateur
 +read -a TAB <<<"$CHAINE"
 +echo "${#TAB[@]}"              # affiche de la taille du tableau (nombre de cellule)
 + 3
 +printf '%s\n' "${TAB[@]}"      # affichage du contenu du tableau cellule par cellule
 + 17
 + 8 23
 + 9
 +</code>
 +
 ====Tableau à 2 dimensions==== ====Tableau à 2 dimensions====
  
-Ça n'eût pas existé pas sous bash :). Mais on peut l'émuler en créant un tableau associatif (qui, à une clé fait correspondre un contenu), en codant la clé pour émuler 2 dimensions. Exemple : pour émuler un tableau de 2 x 3 cases :+Ça n'eût pas existé sous bash :). Mais on peut l'émuler en créant un tableau associatif (qui, à une clé fait correspondre un contenu), en codant la clé pour émuler 2 dimensions. Exemple : pour émuler un tableau de 2 x 3 cases :
 <code bash> <code bash>
 # déclaration d'un tableau associatif T # déclaration d'un tableau associatif T
informatique/linux/programmation_shell.txt · Last modified: 2023/10/02 13:35 by pteu