Table des matières

Bash : les tableaux

Tableaux

Les tableaux ne respectent pas la norme POSIX : http://hyperpolyglot.org/shell
tableau littéral nums=(1 2 3 4)
taille du tableau ${#nums[@]}
recherche ${nums[0]}
modification de tableau nums[1]=5
tranche de tableau
concatenation a=(1 2 3)
b=(4 5 6)
c=(${a[@]} ${b[@]})
itération
for i in ${nums[@]}
do echo $i
done

Pour des explication et des exemples : script_bash : les tableaux ;-)

Tableau et itération for

Pré-requis : avancee

script
#!/bin/bash
tableau=(un deux trois quatre)
for indice in "${!tableau[@]}";
   do
   echo ${tableau[$indice]};
   done
un
deux
trois
quatre

Exemple : changer les noms de tous les fichiers d'un répertoire

mon-script
#!/bin/bash
set +eu
cd /home/hypathie/DirTest/
fichiers=( $(ls) )
echo ${fichiers[@]}
 
# parcourir tous les paramètres du tableau avec une boucle
 
for i in "${fichiers[@]}"
do
   echo "$i"
# changer les paramètres du tableau (=noms des fichiers)
  mv "$i" "$i.txt"
  echo "$i.txt"
 
done
mkdir ~/DirTest && cd ~/DirTest && touch Janvier Fevrier Mars Avril Mai Juin && cd ~
./mon-script
retour de la commande
Avril Fevrier Janvier Juin Mai Mars
Avril
Avril.txt
Fevrier
Fevrier.txt
Janvier
Janvier.txt
Juin
Juin.txt
Mai
Mai.txt
Mars
Mars.txt

Tuto précédent

Bash : les symboles dans les calculs

La suite c'est là

Bash : les caractères de transformation de parametres

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !