追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述shell函数相关的知识,希望能为你提供帮助。
@[toc]
1.shell函数的定义将命令序列按格式写在一起
可方便重复使用命令序列
一共有两种格式,分别为:
![shell函数](http://img.readke.com/220601/11331M031-0.jpg)
文章图片
==例:使用调用函数来建立yum仓库==
![shell函数](http://img.readke.com/220601/11331KV0-1.jpg)
文章图片
==这里可以看出我们的yum仓库和httpd服务都已经安装完毕了==
![shell函数](http://img.readke.com/220601/11331L4I-2.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331Ha8-3.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331K236-4.jpg)
文章图片
2.函数返回值return表示退出函数并返回一个退出值,脚本中可以用 $?变量显示该值
使用原则:
1.函数一-结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
2.退出状态码必须是0~255,超出时值将为除以256取余
![shell函数](http://img.readke.com/220601/11331J129-5.jpg)
文章图片
【shell函数】echo $? 输出值会有限制:
![shell函数](http://img.readke.com/220601/11331KT6-6.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331H106-7.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331IY9-8.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331L351-9.jpg)
文章图片
==使用echo输出,输出值不会有限制:==
![shell函数](http://img.readke.com/220601/11331G3Q-10.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331IT6-11.jpg)
文章图片
3.函数传参
![shell函数](http://img.readke.com/220601/11331G931-12.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331I296-13.jpg)
文章图片
4.函数变量的作用范围? 函数在Shell脚本中仅在当前Shell环境中有效
? Shell脚本中变量默认全局有效
? 将变量限定在函数内部使用local命令
![shell函数](http://img.readke.com/220601/11331L122-14.jpg)
文章图片
==函数里不加local,为全局变量:==
![shell函数](http://img.readke.com/220601/11331G450-15.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331H435-16.jpg)
文章图片
==函数里加local,变为局部变量:==
![shell函数](http://img.readke.com/220601/11331L236-17.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331M441-18.jpg)
文章图片
5.递归函数调用自己本身的函数
阶乘
![shell函数](http://img.readke.com/220601/11331J952-19.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331MI8-20.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331H060-21.jpg)
文章图片
==递归目录==
![shell函数](http://img.readke.com/220601/11331L926-22.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331LX3-23.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331MR6-24.jpg)
文章图片
6.创建函数库
![shell函数](http://img.readke.com/220601/11331J619-25.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331K407-26.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331KO8-27.jpg)
文章图片
![shell函数](http://img.readke.com/220601/11331I504-28.jpg)
文章图片
推荐阅读
- Linux基础(CentOS 基础配置)
- #yyds干货盘点#windows server 2012 R2分区样式(MBR与GPT)
- #yyds干货盘点#C++ static
- #yyds干货盘点#编译安装busybox
- #yyds干货盘点#Windows Server之CA证书服务器
- pycharm 远程开发配置
- WordPress的sage bootstrap不起作用
- WordPress的根/sage安装选项不起作用
- WordPress删除comment_form(‘cancel_reply_link’)()