Dado que ambos archivos de script son scripts bash
, debe ejecutarlos utilizando el intérprete de shell bash
, no el intérprete de shell sh
.
Tiene la línea correcta#!
-en la secuencia de comandos, por lo que ejecutarla directamente desde la línea de comando(./main.sh
)debería hacer lo correcto, siempre que la secuencia de comandos sea ejecutable.
En sh
scripts, las funciones se definen usando
somefuctionname () {
somefunctionbody
}
en lugar de con la palabra clave function
. Si también usa.
(punto )en lugar de source
, el script podría ejecutarse bajo sh
, a menos que usara otras características especiales bash
.