toblowing是两个阵列

问题描述 投票:0回答:1
我可以使用

获得差异

arr_diff=$(echo ${arr1[@]} ${arr2[@]} | tr ' ' '\n' | sort | uniq -u) echo ${arr_diff[@]} //output => (aa bb ff)
,但是,如果我尝试查询差异数组的大小,我会发现错误的答案。

echo ${#arr_diff[@]} //output => 1

我总是将输出作为1,无论差数数组的大小如何(即使大小为零,即ARR1和ARR2都具有相同的元素)

	

由于如何分配ARR_DIFF,问题发生。当您使用命令替换

$(...)
时,结果将分配为单个字符串,而不是数组。这就是为什么
echo ${#arr_diff[@]}

返回1的原因,因为它将整个输出视为一个元素。 尝试这个:

arrays bash shell difference
1个回答
0
投票


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.