网站设置超链接,云南省建设注册考试中心网站,简易的网站建设,wordpress户外俱乐部主题一、函数
1.1 函数的定义
函数是脚本的别名
作用#xff1a;函数可以避免代码重复#xff0c;可读性强#xff0c;可以简化脚本。
格式#xff1a;函数名#xff08;#xff09;{脚本}
1.2 如何使用函数
1.定义
2.调用
函数一定要先定义再使用
例子#xff1a…一、函数
1.1 函数的定义
函数是脚本的别名
作用函数可以避免代码重复可读性强可以简化脚本。
格式函数名{脚本}
1.2 如何使用函数
1.定义
2.调用
函数一定要先定义再使用
例子
错误示例 正确示例 1.3 函数文件
专门存放函数的文件 要使用的时候 . 或者绝对路径的文件名 放在脚本的最前面 1.4 函数变量的作用范围
用法加local 关键字加locao只会在函数内部生效不影响外界环境 1.5 函数的返回值
return表示退出函数并返回一个退出值脚本中可以用$?变量表示该值
使用原则 函数一结束就去返回值应为$?变量只返回执行的最后一条命令的退出返回码 退出码必须是0-255超出的值将为除以256取余 例子 1.6 函数的传递参数 1.7 函数的递归
实际应用就是阶乘
实验
#!/bin/bash
fact () {
if [ $1 -eq 1 ]
then
echo 1
else
echo $[ $1 * fact $[$1-1] ] //如果输入的数不是1那么就用这个数乘以他本身减去一如此循环直到1
fi}
fact $1二、数组
2.1 数组的类别
数组分为普通数组和关联数组
普通数组下标是数字关联数组下标是与含义的字符串
declare -a 数组名
#普通数组可以不事先声明,直接使用
declare -A 数组名
#关联数组必须先声明,再使用
2.2 声明数组
1.数组名数组值中间用空格隔开
2.数组名[下表1]数值1
例子
普通数组 关联数组 2.3 删除数组
普通数组 关联数组 2.4 数组切片
格式
${数组名[]:跳过个数:要取个数} 2.5 进阶冒泡排序
提出问题假如我有一个随机数的数组我想让他从小到大排列该怎么做
#!/bin/bash
for i in {0..9}
do
a[$i]$RANDOM
done
echo 原始数组为: ${a[*]}
#随机生成一个数组
l${#a[*]}
#定义l的长度为数组a 10
for ((i1;i$l;i))
#比较的轮数
dofor ((j0;j$l-$i;j))
#两个相邻的数需要比较的轮数dofirst${a[$j]}
#数组的第一个数k$[$j1]
#计算下一个数的角标second${a[$k]}
#数组的第二个数if [ $first -gt $second ]thentemp$firsta[$j]$seconda[$k]$tempfidone
done
echo 排序后的数组为: ${a[]} 总结
1. 注意在函数内传递参数与通过位置变量在函数外传递参数的区别函数传递由脚本变量的位置决定。
2. 注意函数中局部变量和全局变量的区别。
3.在接收位置变量的值时建议给出一个新定义的变量以增加代码的可读性。
4.对递归函数的理解是对函数的深入运用和挖掘尤其是递归方面的运用。
5.注意需要保持函数的脚本形式也可以在文件中构建函数库另外调用文件的第一条语句要调用源代码或. 。
6. 如何构建数组我们可以将其视为包含多个独立元素的变量集合。