#arr [*]在bash中意味着什么?

gre*_*ghz 1 bash

我遇到了一个脚本,其代码如下:

arr=($p)
np=${#arr[*]}
Run Code Online (Sandbox Code Playgroud)

p是一对整数对:"0,1 2,4 3,5"等.首先,我不是100%确定()在第一行中做了什么,但我认为它只是改变了事情成为一个关联的数组?这可能也不正确......但更重要的是,我完全不知道第二行的作用.

Fat*_*ror 6

第一个中的括号将结果转换为数组,并将为其分配从0开始的索引并根据IFS(默认情况下包括空格)进行拆分.在${#arr[*]}}给出阵列中的元素的数量.