您的位置:首页 > 运维架构 > Shell

关于Shell数组的几点说明

2016-12-30 00:00 120 查看
程序如下:

#!/bin/bash
name=(a,b,c,d)
echo ${name[1]}
echo ${name[@]}
echo ${name[*]}

运行结果:



原因分析:
Shell数组对于元素的识别是通过换行实现的,也就是说我们这里将a,b,c,d看做一个数组元素,那么输出name[1]肯定没有结果。
修改一下代码:

#!/bin/bash
name=(a,b,c,d)
echo ${name[0]}
echo ${name[@]}
echo ${name[*]}

运行结果为:



解决方法:

#!/bin/bash
name=(
a,
b,
c,
d
)
echo ${name[1]}
echo ${name[@]}
echo ${name[*]}

或者:

#!/bin/bash
name=(
a
b
c
d
)
echo ${name[1]}
echo ${name[@]}
echo ${name[*]}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: