有没有用于在bash脚本中从函数返回多个值的习惯用语?
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}"
我意识到如果在shell脚本中需要可重入性,那么我可能做错了什么,但是我仍然感到很不舒服,因为只是为了保存返回值就需要使用全局变量。
有更好的方法吗?我更喜欢可移植性,但如果必须指定#!/bin/bash
,那么这可能不是一个真正的限制。
declare -n
。请参见https://dev59.com/b_UXpYgB1922wOYJe49p#76127851。 - guettli