shell数组
在Shell脚本中,数组是一种非常有用的数据结构,可以存储多个值。虽然Shell数组在某些方面不如编程语言中的数组那样强大,但它们仍然可以完成许多基本任务。以下是Shell数组的一些基本操作方法:
声明数组:
declare -a ARRAY_NAME
给数组元素赋值:
ARRAY_NAME[0]="value1"
ARRAY_NAME[1]="value2"
或者使用下标操作符:
${ARRAY_NAME[0]}="value1"
${ARRAY_NAME[1]}="value2"
读取数组元素:
echo ${ARRAY_NAME[0]}
遍历数组:
for item in "${ARRAY_NAME[@]}"; do
echo $item
done
或者使用下标:
for i in "${!ARRAY_NAME[@]}"; do
echo ${ARRAY_NAME[$i]}
done
添加元素到数组末尾:
ARRAY_NAME+=("new_value")
删除数组元素:
删除指定索引的元素:
unset ARRAY_NAME[1]
删除整个数组:
unset ARRAY_NAME
获取数组长度:
length=${#ARRAY_NAME[@]}
检查数组是否为空:
if [ ${#ARRAY_NAME[@]} -eq 0 ]; then
echo "Array is empty"
fi
数组排序:
sort="$(printf "%s\n" "${ARRAY_NAME[@]}" | sort -n)"
数组合并:
ARRAY_NAME=("${ARRAY_NAME[@]}" "new_value")