shell中数组的使用

Posted donfaquir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中数组的使用相关的知识,希望对你有一定的参考价值。

1 数组的定义

1.1 数字数组

  1. 常规定义
num=(1 2 3 4 5)
num[0]=1;num[1]=2
  1. 特殊形式
    在for循环中,也可以直接声明并使用
for num in 1 2 3 4 5
do
 echo "num is: ${num}"
done

1.2 字符串数组

  1. 常规定义
str1=(‘a‘ ‘b‘ ‘c‘)/str1=(a b c)
str2[0]=a
str2[1]=‘b‘
str2[5]=d
str2[3]=c
  1. 特殊形式
str=" what class are you in ?"

此时数组的元素是以空格为间隔的

1.3 备注:

在使用形如“str[0]=1”定义数组是,数组的下标值可以不是连续的正整数,元素的顺序按照下标的升序排列,数组的长度由实际包含的元素个数决定,不受下标值得影响。


2. 数组的遍历

2.1 for循环

  1. 高级语言的形式
for((i=0;i<${#num[@]};i++))
do
 echo "num is: ${num[i]}"
done
  1. foreach形式
for nu in ${num[*]}
do
 echo "num is: $nu"
done

其中,${num[*]${num[@]效果相同

2.2 while

i=0
while [ $i -lt ${#num[@]} ]
do
 echo "num is: ${num[$i]}"
 echo "i is: $i"
 i=`expr $i + 1`
done 

2.3 until

i=0
until [ $i -ge ${#num[*]} ]
do
 echo "num is: ${num[$i]}"
 i=`expr $i + 1`
done

数组增加元素

数组更新元素值

数组删除元素值

删除数组






以上是关于shell中数组的使用的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

nodejs常用代码片段

Eclipse 中的通用代码片段或模板

为什么我不能在此片段中生成唯一对象数组?

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法