Existe-t-il des idiomes pour renvoyer plusieurs valeurs d'une fonction bash dans un script?idiomes pour renvoyer plusieurs valeurs dans le script shell
http://tldp.org/LDP/abs/html/assortedtips.html décrit comment écho plusieurs valeurs et traiter les résultats (par exemple, par exemple 35-17), mais cela devient délicat si certaines des valeurs retournées sont des chaînes avec des espaces.
Une façon de revenir plus structuré serait d'attribuer à des variables globales, comme
foo() {
FOO_RV1="bob"
FOO_RV2="bill"
}
foo
echo "foo returned ${FOO_RV1} and ${FOO_RV2}"
Je me rends compte que si je dois réentrance dans un script shell, je suis probablement le faire mal, mais je me sens encore très mal à l'aise de lancer des variables globales autour juste pour tenir renvoyer des valeurs.
Y at-il une meilleure façon? Je préférerais la portabilité, mais ce n'est probablement pas une vraie limitation si je dois spécifier #!/bin/bash
.