函数:
1.函数介绍function
为了避免代码重复使用,我们一般通过函数编写代码块,而这一个代码块用来实现某种功能
且这个功能在后面的代码中
function check_cpu{
cat /proc/cpuinfo
}
ls /etc/
check_cpu【不调用函数,则函数体中的命令不会执行;在哪里调用,函数体中的命令会在哪里执行】
fun_name(){
函数体
$1 $2 ... $10
}
fun_name 1 2 3
:wq
function.sh 4 5 6 7 8 9 10 11 12 13 14
3、函数的调用 --return
函数返回值
1、当函数中指定了判断语句的时候,我们默认要返回一个错误的结果,但是最近一条命令确实正确的,这时候,我们需要通过return返回一个我们需要的错误状态码;
2、函数结束的时候,我们需要指定一个return的正确返回码;
如果使用在循环语句中,return会跳出循环
结束函数体的执行
return和exit都指定的返回值0代表执行成功,1-255代表执行失败
return只用在函数体中
迭代
迭代的时候一定要指定初始值
4、函数接受参数
函数 变量
和普通的命令一样
只需要注意,在函数接受参数的时候,不会使用外部的传参,而是以脚本内部的参数为准
5、函数中的变量
本地变量
local 变量名=xxx
本地变量只在本函数内部生效
局部变量
脚本内部的变量
环境变量
在整个Linux系统的bash中生效
扩展:关于脚本执行的问题
bash的方式来执行--#!/bin/bash
bash所执行的脚本中定义的变量,在当前shell的子shell中;
全路径或者相对路径的方式来执行--须有授权执行权限
source脚本文件 或者.脚本文件
source这种方式来执行脚本文件的时候,内部变量所定义的值是在当前shell中的
6、函数递归
i=$[$1*$(fact$[$1-1])]