shell脚本中数组

分界点:以下内容需要更改,正常放假更改

数组:

数组的作用:可以一次性的定义多个变量,数组的长度是不限的

数组的元素类型:int string float.

就是形成变量池,可以随时的遍历和使用

数组的写法:

test=(wk zrf zpl xtc fkc)

echo ${test[*]}

test1=([0]=1 [1]=2 [2]=3)

echo ${test1[*]}

0 1 2 #是数组的下标,下标索引都是从0开始的

索引下标是从0开始,0对应数组当中的第一个元素。

获取数组的长度:echo ${#test[*]}

读取下标的值:echo ${test[0]}

进行数组的遍历

arr=(1 2 3 4 5)

现在要求1.打印

2.每个值分别*2

3.将新值形成一个新的数组,数组名可以不变

shell脚本中数组_第1张图片

数组的切片:

取数组当中某一段元素的值:echo ¥{test[*]:这是从第几个开始的下标:这是取多少个值}

echo ${arr[*]:4:3}

数组的替换:

临时替换:echo ${arr[*]/4/66}

永久替换:arr=(${arr[*]/4/66}) 或test[3]=44

删除数组:unset 数组名 #例如:unset arr

unset test[3]

追加元素:在原有的基础上,追加新的元素

test[5]=6

或者test[${#test[*]}]=7

或者test+=(test1 test2)待添加的元素必须用()括起来,而且多个元素必须要用空格分隔

函数往数组当中传参:

shell脚本中数组_第2张图片

shell脚本中数组_第3张图片

冒泡排序:数据在数组当中,按照从小到大,或者从大到小。不断向前移动或者向后移动

实现逻辑:

从小到大为例:2 4 3 1 7 5

两个相邻的元素进行比较,大的要向后,小的向前。数组的索引下标对应的值也要换

需要两层循环控制,外层控制循环次数,内层实现元素比较与位置交接

你可能感兴趣的:(云计算课程学习,linux,运维,服务器)