shell索引数组和字符串转化

今天我看到了一个视频,说的是所谓的数组传递(具体内容就不写了),然后自己测试一下从函数中传递出来的是什么,这里直接使用一个数组和一个字符串:

$ num=(1 2 3)
$ num1="2 3 4"
$ set | grep num
num=([0]="1" [1]="2" [2]="3")
num1='2 3 4'
$ echo ${num1[@]}
2 3 4
$ echo ${num[@]} 
1 2 3
$ echo ${num1[0]}
2 3 4
$ echo ${num1[1]}

$ echo ${num1[*]}
2 3 4
$ echo "${num1[*]}"
2 3 4
$ echo "${num1[@]}"
2 3 4
$ echo "${num1[0]}"
2 3 4
$ echo "${num1[1]}"

$ echo ${#num1[@]}
1
echo ${#num[@]} 
3

从上面测试可以看出,字符串其实可以转化为数组的第一个元素的。