Le mot-clé function
a été déprécié au profit de function_name()
pour la portabilité avec le Spécification POSIX
Une fonction est un nom défini par l'utilisateur qui est utilisé comme une simple commande pour appeler une commande composée avec de nouveaux paramètres positionnels. Une fonction est définie avec une "commande de définition de fonction".
Le format d'une définition de fonction est le suivant :
fname() compound-command[io-redirect ...]
Notez que le { }
ne sont pas obligatoires, donc si vous ne comptez pas utiliser le mot-clé function
(et vous ne devriez pas), alors le ()
sont nécessaires pour que l'analyseur syntaxique sache que vous définissez une fonction.
Exemple, il s'agit d'une définition et d'une invocation de fonction légale :
$ myfunc() for arg; do echo "$arg"; done; myfunc foo bar
foo
bar