Shell脚本函数及数组

218 阅读1分钟

一、函数

1.1函数的作用

  • 语句块定义成函数约等于别名,定义函数,再引用函数
  • 封装的可重复利用的具有特定功能的代码

image.png image.png

image.png image.png

image.png image.png

image.png

image.png

函数传参

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

二、数组

2.1shell数组的定义

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组)

数组元素的下标由 0 开始。

Shell 数组用括号来表示,元素用"空格"符号分割开

在shell语句中,使用、遍历数组的时候,数组格式要写成 arr[@]{arr[@]} 或 {arr[*]}

image.png

image.png

2.3数组的数据类型

  • 数值类型
  • 字符类型:使用" "或’ '定义

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

2.7.4数组删除和指定下标值删除

image.png

2.7.5数组追加元素

image.png

image.png

image.png

三、冒泡排序

<span style="background-color:#f8f8f8"><span style="color:#333333">#!/bin/bash
#排序之前的数组顺序
a=(10 40 33 30 77 66 44 ) 
#确定循环比较的次数
for ((j=1;j<${#a[@]};j++))
do
#对比获取每次的最大元素的索引位置
for ((i=0;i<${#a[@]}-j;i++))
do
#如果对比出最大元素,就把该元素赋值给后面的变量tmp
if  [ ${a[$i]} -gt ${a[$i+1]} ]
then
#定义一个变量tmp,将每次比较的最大数值放进tmp,实现变量对换
tmp=${a[$i+1]}
a[$i+1]=${a[$i]}
a[$i]=$tmp
fi
done
done
echo ${a[*]} 
</span></span>

image.png