Une confusion entre $ {array [*]} et $ {array [@]} dans le contexte d'un achèvement bash

Je tente d'écrire un achèvement bash pour la première fois, et je suis un peu confus quant aux deux façons de déréférencer les tableaux bash ( ${array[@]}et ${array[*]}). Voici le morceau de code pertinent (cela fonctionne, au fait, mais j'aimerais mieux le comprendre): _switch() { local cur perls...