¿Existen expresiones idiomáticas para devolver múltiples valores de una función bash dentro de un script?modismos para devolver múltiples valores en el shell scripting
http://tldp.org/LDP/abs/html/assortedtips.html describe cómo echo múltiples valores y procesar los resultados (por ejemplo, el ejemplo 35-17), pero que se complica si algunos de los valores devueltos son cadenas con espacios en.
una manera más estructurada para volver sería asignar a las variables globales, como
foo() {
FOO_RV1="bob"
FOO_RV2="bill"
}
foo
echo "foo returned ${FOO_RV1} and ${FOO_RV2}"
soy consciente de que si necesito re-entrada en un script de shell probablemente estoy haciendo mal, pero todavía me siento muy incómodo tirar variables globales alrededor sólo para mantener valores de retorno.
¿Hay una manera mejor? Preferiría la portabilidad, pero probablemente no sea una limitación real si tengo que especificar #!/bin/bash
.