Posso definire bash funzioni utilizzando o omettendo la function parola chiave. C'è qualche differenza?
#!/bin/bash
function foo() {
echo "foo"
}
bar() {
echo "bar"
}
foo
bar
Entrambe le chiamate alle funzioni foo e bar successo e non vedo alcuna differenza. Quindi mi chiedo se è solo per migliorare la leggibilità, o c'è qualcosa che mi sfugge...
A proposito in altre shell come dash (/bin/sh è collegato simbolicamente a dash in debian/ubuntu) non riesce quando si usa la function parola chiave.
Risposta accettata:
Non c'è alcuna differenza AFAIK, a parte il fatto che la seconda versione è più portatile.