shell函数和数组

函数

定义函数

##第一种:简单常用
函数名(){
脚本(命令集合)
}
 
##第二种:
function 函数名{
脚本内容(命令集合)
}
 
##第三种
function 函数名(){
脚本(命令集合)
}
 

函数使用

#!/bin/bash
num(){   ##num是定义的函数名称
a=66
echo ${a}
}
 
num  ##这里的num是调用上面的num函数脚本

关于declare查询的用法 

【查看函数列表】
declare -F
#查看当前已定义的函数名,仅仅显示名称
 
declare -f
#查看当前已定义的函数定义,包含脚本代码
 
declare -f 函数名称
#查看该函数是否存在(这里必须是已经用source或者.已经声明过的函数内容,要不然系统无法识别)
 
declare -F 函数名称
#查看当前已定义的函数,以及详细代码
 
unset 函数名
#表明从系统中删除定义的函数,但是如果函数脚本使用source再次声明,还是会存在的

关于函数的增加与调用

 函数返回值

return

return表示退出函数并返回一个退出值,脚本中可以用$?变量表示该值

使用原则:

  1. 函数一结束就去返回值,应为$?变量只返回执行的最后一条命令的退出返回码

  2. 退出码必须是0-255,超出的值将为除以256取余

echo

echo任意值。

#!/bin/bash
test1 () {
        read -p "请输入一个数字:" num
        echo $[$num*2]
}
result=`test1`
echo $result

函数的环境变量和内置变量:local

 数组

数组的分类

普通数组(数值型)

下标索引是从0开始的数字,下标数字是可以不连续的

普通数组是系统会自动进行声明的

 关联数组(字符型)

要使用declare -A 数据名称进行声明

declare -a 可以查看所有的普通数组;

declare -A 可以查看所有的关联数组 ;

 找出数组中的最大和最小值

#!/bin/bash
for i in {0..6}
do
num[$i]=$[RANDOM%10]
[[ $i -eq 0 ]] && min=${num[0]} && max=${mun[0]}  ##当有第一个数组时,最大值和最小都是它
[[ ${num[$i]} -gt max ]] && max=${num[$i]}     ##表示随机产生的数字与最大值比较,如果大成立,则执行将其值赋给max
[[ ${num[$i]} -lt min ]] && min=${num[$i]}
done
echo "所有随机数为:${num[*]}"
echo "最大值为:${max}"
echo "最小值为:${min}"

 

posted @ 2024-05-15 16:31  hx_ky36  阅读(1)  评论(0编辑  收藏  举报