Linux中shell关于变量和数组的几个表达式的作用

${name[*]}代表了数组中所有元素(all of the elements)

${name[@]}代表了数组中每一个元素(each of the elements),这个表达式与前一个基本相同。就是当在表达式两边加双引号输出时,稍微不同,前者是会输出所有元素包括元素分隔符,后者只输出每个元素。

${#name[*]}是数组元素的个数,也可以写成${#name[@]}

${name:-Hello} 是指,如果${name}没有赋值,那么它等于Hello,如果赋值了,就保持原值

${name #*/}删除name变量的值中的第一个 / 左面的值以及第一个 / ,保留右边的

${name %%.*}返回第一个 前面的内容

posted @ 2020-03-14 18:05  望烟听雨寒  阅读(332)  评论(0编辑  收藏  举报