Linux中shell关于变量和数组的几个表达式的作用
${name[*]}代表了数组中所有元素(all of the elements)
${name[@]}代表了数组中每一个元素(each of the elements),这个表达式与前一个基本相同。就是当在表达式两边加双引号输出时,稍微不同,前者是会输出所有元素包括元素分隔符,后者只输出每个元素。
${#name[*]}是数组元素的个数,也可以写成${#name[@]}
${name:-Hello} 是指,如果${name}没有赋值,那么它等于Hello,如果赋值了,就保持原值
${name #*/}删除name变量的值中的第一个 / 左面的值以及第一个 / ,保留右边的
${name %%.*}返回第一个 . 前面的内容