En los scripts de bash, trato de mantener mis variables locales a las funciones siempre que puedo y luego paso lo que necesito de funciones como abajo
#!/bin/bash
function FUNCTION() {
local LOCAL="value"
echo "$LOCAL" # return this variable
}
GLOBAL=$(FUNCTION)
echo "$GLOBAL"
Pero, ¿es posible hacer esto mientras se incluyen los propios ecos de la función para que, si la función tiene sus propios mensajes de salida, no tenga que atraparlos en una variable
#!/bin/bash
function FUNCTION() {
local LOCAL="value"
echo "$LOCAL" # return this variable
echo "This function is done now" # do not return this variable
}
GLOBAL=$(FUNCTION)
echo "$GLOBAL" # should only echo 'value'
function foo()
sintaxis antigua que no es POSIX ? Puede obtener una mejor compatibilidad POSIX con 9 combinaciones de teclas menos.