¿Cómo defino funciones en la terminal en varias líneas?
# this doesn't work
function my_func { \
echo "number 5" \
}
Muy basico. Todavía molesto.
Respuesta1
No necesitas \
continuar con las líneas aquí. Intentar:
function my_func {
echo "number 5"
}
La function
palabra clave no es obligatoria, puede utilizarla funcname () {...}
en su lugar:
my_func() {
echo "number 5"
}
Por cierto, la razón por la que no funciona es que las barras invertidas hacen que la definición de la función sea de una sola línea, y las definiciones de funciones de una sola línea deben terminar con un ;
in bash.
por ejemplo, esto falla:
my_func () { echo "number 5" }
esto funciona:
my_func () { echo "number 5" ; }
como hace esto:
function my_func { \
echo "number 5" \
; \
}