【发布时间】:2020-08-16 04:19:03
【问题描述】:
我需要将一个数组作为参数传递给一个函数(这很好),然后获取它的长度(我不让它工作)。
工作示例:
function foo {
declare -a idn=("${!1}")
echo "idn=${idn[@]}"
n=${#idn[@]}
echo "n=$n"
}
identifier=(a b c d e)
echo "len is ${#identifier[*]}"
echo foo
foo identifier[*]
输出是:
len is 5 #that is OK
foo
idn=a b c d e
n=1 #should be 5
函数外的长度是可以的,但它不在函数内。
我正在使用 GNU bash,版本 4.3.42(1)-release (x86_64-suse-linux-gnu)
【问题讨论】: