Je pense que le problème est que la variable tab que tu affiches et la variable tab que tu passes à la fonction display n'est pas la même!
Le while do ... done lance un sous shell, la variable tab affecté dans ce sous shell n'est pas accessible en dehors, dans ton exemple c'est une nouvelle variable non initialisé qui est passé à la fonction display.
Regarde http://abs.traduc.org/abs-4.2.01-fr/ch20.html pour plus d'info.
En dehors de ça la syntaxe semble correcte.
# sous shell
Posté par sylvain cresto (site web personnel) . En réponse au message les tableaux bash et les boucles while. Évalué à 2.
Le while do ... done lance un sous shell, la variable tab affecté dans ce sous shell n'est pas accessible en dehors, dans ton exemple c'est une nouvelle variable non initialisé qui est passé à la fonction display.
Regarde http://abs.traduc.org/abs-4.2.01-fr/ch20.html pour plus d'info.
En dehors de ça la syntaxe semble correcte.