程序如下:
#!/bin/bashname=(a,b,c,d)echo ${name[1]}echo ${name[@]}echo ${name[*]}
运行结果:
原因分析: Shell数组对于元素的识别是通过换行实现的,也就是说我们这里将a,b,c,d看做一个数组元素,那么输出name[1]肯定没有结果。 修改一下代码:
#!/bin/bashname=(a,b,c,d)echo ${name[0]}echo ${name[@]}echo ${name[*]}
运行结果为:
解决方法:
#!/bin/bashname=(a,b,c,d)echo ${name[1]}echo ${name[@]}echo ${name[*]}
或者:
#!/bin/bashname=(abcd)echo ${name[1]}echo ${name[@]}echo ${name[*]}