Je peux définir bash fonctions utilisant ou omettant la function mot-clé. Y a-t-il une différence ?
#!/bin/bash
function foo() {
echo "foo"
}
bar() {
echo "bar"
}
foo
bar
Les deux appels aux fonctions foo et bar réussir et je ne vois aucune différence. Alors je me demande si c'est juste pour améliorer la lisibilité, ou s'il y a quelque chose qui me manque…
BTW dans d'autres shells comme dash (/bin/sh est lié symboliquement au dash dans debian/ubuntu) il échoue lors de l'utilisation de la function mot-clé.
Réponse acceptée :
Il n'y a aucune différence AFAIK, autre que le fait que la deuxième version est plus portable.