Rappel sur bash : $@, "$@", $*, "$*"

Expression Signification Comportement
$@ tous les arguments casse les espaces
"$@" tous les arguments préserve chaque argument
$* tous les arguments fusionnés une seule chaîne
"$*" tous les arguments fusionnés une seule chaîne, séparée par IFS

IFS (Internal Field Separator) correspond à une variable spéciale qui indique comment Bash découpe une chaîne en “mots” lorsqu’il lit des arguments.

Bash sépare les champs selon :

  • l’espace

  • la tabulation

  • le saut de ligne

Expression Utilise IFS Résultat
"$@" Non arguments séparés, intacts
$@ ✔️ Oui arguments éclatés selon IFS
"$*" ✔️ Oui arguments fusionnés en une seule chaîne
$* ✔️ Oui arguments éclatés puis fusionnés