shell数组变量
admin
2023-03-22 19:41:07
0

shell中数组定义:

可以整体定义数组:

ARRAY_NAME=(value0 value1 value2 value3 ...)

或者:

ARRAY_NAME=(
value0
value1
value2
value3
...
)

此时数组的下标默认是从0开始的,还可以单独定义数组的各个分量:

ARRAY_NAME[0]=value0
ARRAY_NAME[1]=value1
ARRAY_NAME[n]=valuen
...

可以不使用连续的下标,而且下标的范围没有限制。

取得数组中的元素:

valuen=${ARRAY_NAME[n]}

一次性将数组中所有元素的值得到:

echo ${ARRAY_NAME[@]}

取得数组元素的个数

length=${#ARRAY_NAME[@]}  或者  length=${#ARRAY_NAME[*]}

取得数组单个元素的长度

lengthn=${#ARRAY_NAME[n]}

数组遍历:

使用while循环遍历数组:

i=0
length=${#ARRAY_NAME[*]}
while [ $i -lt $length ] ; do
valuei=${ARRAY_NAME[$i]}
...
let i++
done

使用for循环遍历数组:

for value in ${ARRAY_NAME[*]} ; do
valuei=value
...
done

清空数组:

清空单个元素:

ARRAY_NAME[n]=

将整个数组清空:

unset ARRAY_NAME
或者:
ARRAY_NAME=

应该注意unset后的变量不应该加$。加$会清空以ARRAY_NAME的值为名称的变量。


相关内容

热门资讯

榴莲商家千里维权,“仅退款”不... 近日,一则“河南商家驱车1600公里赴山东寻找‘仅退款’买家”的消息,引发社会关注。买家被行政拘留5...
原创 魏... 懦夫一生数死,丈夫只死一遭。莎士比亚的这句名言犹如利刃,直刺人心。他用极为尖锐的语言提醒我们:真正的...
三星的撤退与进击 文 | 华商韬略 苏州工业园。 这片土地,承载着三星在中国制造业版图中最具象征意义的记忆。 三十多...
利好!AI、算力,大消息! 重点关注 近日,国家发展改革委主任郑栅洁赴上海人工智能实验室,专题调研人工智能发展情况。 国家网信办...
原创 这... 在繁忙的都市生活中,我们常常被压力和疲惫所困扰。然而,有一种植物,它以其古朴、典雅的姿态,静静地绽放...
两台Figure AI人形机器... IT之家 5 月 9 日消息,当地时间 5 月 8 日,Figure AI 公布了一段视频:两台人形...
首款,成功研制!我国“太极计划... 记者5月9日从中国科学院力学研究所获悉,我国空间引力波探测“太极计划”核心测量系统研制工作取得重要进...
DeepSeek狂融500亿,... 梁文锋终于想通了。 过去一直拒绝融资,但现在则放开手脚。 最新市场消息显示,DeepSeek计划融资...
阿联酋称拦截伊朗导弹和无人机 新华社阿布扎比5月10日电 阿联酋国防部10日称,阿联酋防空部队拦截了来自伊朗的弹道导弹、巡航导弹及...
俄总统助理:美特使或近期访俄继... △俄罗斯总统助理乌沙科夫(资料图)当地时间5月10日,俄罗斯总统助理乌沙科夫在当日播出的一档节目中表...