创建函数:
注意:大括号前有空格
格式1:
function name {
commands
}
格式2:
name() {
commands
}
函数的返回值:
bash shell会把函数当作一个小型脚本,运行结束时会返回一个退出状态码
$? 查看退出码
注意:$? 是按照函数语句是否成功运行来判断的
return 返回指定的退出状态码
return的使用方法:
- 函数结束就取返回值
- 退出状态码为整数
- 退出返回码的范围 0-255
使用函数输出
可以将函数的值赋值给变量:
仅有一个值时:
有多个值时:仅仅只会获取第一个数据
在函数中使用变量
1.向函数传递参数:向函数传递参数时,需要手动传参
2.在函数中处理变量
- 全局变量
- 局部变量
2.1全局变量:
默认情况下,你在脚本中定义的任何变量都是全局变量。在函数外定义的变量可在函数内正
![](https://i-blog.csdnimg.cn/blog_migrate/fc58f3814df9e61d64dfc37f082cb8e1.png)
2.局部变量
local 变量名
向函数传数组参数
第一种情况:函数在外部直接调用,传参数时需要将参数重新组合成一个新的变量
第二种情况:在函数内部调用,可以直接使用
函数返回数组
创建库
库的作用:方便多个脚本使用同一段代码
source命令是使用函数库的关键,source命令会在当前shell上下中执行命令,而不是创建一个新shell。可以用source命令来在shell脚本中运行库文件脚本。这样脚本就可以使用库中的函数了。source命令有个快捷的别名,称作点操作符(dot operator)
格式 : . 文件路径 (注意空格)
步骤:
- 创建一个公用库文件
- 在脚本开头中导入库文件 格式为: . ./库文件名
- 即可使用库文件中的函数
新建一个 myfunce文件,并在里面输入4个函数
然后再脚本文件输入这4条语句
查看运行结果:
在.bashrc 文件中定义函数
函数放在。bashrc启动文件中,使得每次启动一个新shell时,都会由shell重新载入
创建方法:
- 直接在文件末尾编写函数
- 导入函数文件中的函数
1.文件中编写函数:
2.导入函数文件中的函数
. 路径
GNU shtool shell 脚本的安装
先下载压缩文件:ftp://ftp.gnu.org/gnu/shtool/shtool-2.0.8.tar.gz
把文件传输到Linux中
![](https://i-blog.csdnimg.cn/blog_migrate/692e8ee1c71fcc760ec2622a5a559bc2.png)
- ./configure
- make make命令负责构建shtool库文件
- make test make test 测试这个库
- make install(root用户下)安装这个库
库函数的使用:
格式:shtool [选项] [函数 [选项] [参数]]