Существуют ли какие-либо идиомы для возврата нескольких значений из функции bash в script?
http://tldp.org/LDP/abs/html/assortedtips.html описывает, как эхо несколько значений и обрабатывать результаты (например, пример 35-17), но это становится сложным, если некоторые возвращаемых значений - это строки с пробелами.
Более структурированный способ возврата - назначить глобальным переменным, например
foo () {
FOO_RV1="bob"
FOO_RV2="bill"
}
foo
echo "foo returned ${FOO_RV1} and ${FOO_RV2}"
Я понимаю, что если мне нужна перезагрузка в оболочке script, я, вероятно, ошибаюсь, но мне по-прежнему очень неудобно бросать глобальные переменные только для того, чтобы удерживать возвращаемые значения.
Есть ли лучший способ? Я бы предпочел переносимость, но это, вероятно, не является реальным ограничением, если я должен указать #!/bin/bash
.