Puedo definir bash
funciones usando u omitiendo la function
palabra clave. ¿Hay alguna diferencia?
#!/bin/bash
function foo() {
echo "foo"
}
bar() {
echo "bar"
}
foo
bar
Ambas llamadas a funciones foo
y bar
éxito y no puedo ver ninguna diferencia. Así que me pregunto si es solo para mejorar la legibilidad, o hay algo que me estoy perdiendo...
Por cierto, en otros shells como dash
(/bin/sh
está vinculado a dash
en debian/ubuntu) falla al usar la función function
palabra clave.
Respuesta aceptada:
AFAIK no hay diferencia, aparte del hecho de que la segunda versión es más portátil.