函数是一个脚本代码块,你可以为其命名并在代码中任何位置重用。

在bash shell脚本中创建函数基本使用如下两种方式,第二种格式更接近于其他编程语言中定义函数的方式。

function name {commands} 或者name() { commands }

简单写一个demo

输出:

当然我们在使用函数的时候希望有返回值,在之前的学习中,已经知道,函数执行完会返回默认的值,成功则返回0,那么我们如果想返回自己的定义码可以用return,return命令来退出函数并返回特定的退出状态码。

执行结果:

正如可以将命令的输出保存到shell变量中一样,你也可以对函数的输出采用同样的处理办法。可以用这种技术来获得任何类型的函数输出,并将其保存到变量中。

执行输出:

函数会用echo语句来显示计算的结果。该脚本会获取myfunc2函数的输出,而不是查看退出状态码。

函数可以使用标准的参数环境变量来表示命令行上传给函数的参数。例如,函数名会在$0 变量中定义,函数命令行上的任何参数都会通过$1、$2等定义

执行输出:

默认情况下,你在脚本中定义的任何变量都是全局变量。在函数外定义的变量可在函数内正常访问。

无需在函数中使用全局变量,函数内部使用的任何变量都可以被声明成局部变量。要实现这 一点,只要在变量声明的前面加上local关键字就可以了

shell学习之创建函数相关推荐

  1. Linuxshell之高级Shell脚本编程-创建函数

    写在前面:案例.常用.归类.解释说明.(By Jim) 使用函数 #!/bin/bash # testing the scriptfunction myfun {echo "This is ...

  2. shell脚本编程之函数

    技术交流QQ群:1027579432,欢迎你的加入! 1.基本的脚本函数 脚本函数出现的目的:为了解决大型处理过程中,需要将相同的重复代码封装起来,提高代码的复用性. 函数是一个脚本代码块,你可以为其 ...

  3. linux脚本编程延时函数,shell脚本编程之函数

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.基本的脚本函数 脚本函数出现的目的:为了解决大型处理过程中,需要将相同的重复代码封装起 ...

  4. matlab学习笔记13_3创建函数句柄

    一起来学matlab-matlab学习笔记13函数 13_3 创建函数句柄 觉得有用的话,欢迎一起讨论相互学习~ 参考文献 https://ww2.mathworks.cn/help/matlab/m ...

  5. Linux学习--Shell脚本的创建

    Shell脚本的创建 [1]什么是shell shell它是命令行解析器,分为以下几类: (1)sh :(全称 Bourne Shell)是UNIX最初使用的 shell,而且在每种 UNIX 上都可 ...

  6. 学习Oracle日记(九)--ORACLE 创建函数

    Ⅰ.创建函数 Ⅱ.截取字符串函数 : REGEXP_SUBSTR 5个参数 第一个是输入的字符串 第二个是正则表达式 第三个是标识从第几个字符开始正则表达式匹配.(默认为1) 第四个是标识第几个匹配组 ...

  7. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

  8. shell学习-基础篇

    shell学习-基础篇 Linux? 挺好的! shell是基础- 最近利用闲暇时间在 http://c.biancheng.net/ 网站上学习了shell基础篇,整理成博客以加深理解 文章目录 L ...

  9. mysql和shell学习日报

    2019.05.05 学习innodb物理逻辑存储结构,innodb文件结构和数据块解析,binlog日志生成流程,在线迁移和升级mysql 2019.05.06 1.xtrabackup热备    ...

最新文章

  1. c语言神州行用户,神州行焕新出发 你行我行神州行折射品牌自信心
  2. poj2217详解 ( 后缀数组 + 高度数组 )
  3. 超越时代的天才——图灵
  4. 如何删除有病毒的网站?
  5. 6-3 逆序数据建立链表
  6. AjaxControlToolkit控件效果演示
  7. IplImage, CvMat, Mat 的关系和相互转换 再次理解 /(ㄒoㄒ)/~~
  8. 《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换
  9. 全球人工智能人才培养与发展趋势
  10. 李开复:垂直搜索违背了搜索引擎的发展初衷
  11. 数据库索引介绍及使用
  12. .NET简谈观察者模式
  13. 自然语言处理--中文文本向量化counterVectorizer()
  14. 论文伪代码(一)论文伪代码实现(Overleaf在线编辑)
  15. 超声波模块工作原理分析及程序
  16. 《趣味知识博文》小W与小L带你聊天式备考CDA Level Ⅰ(三)
  17. 考研数学易错知识点总结
  18. 树莓派使用VGA显示器输出
  19. 产品经理需求调研方法及注意事项
  20. SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎 .

热门文章

  1. [转载] C++子字符串查找及提取
  2. [转载] Python中Numpy包的用法
  3. [转载] python复数类型-Python 复数属性和方法操作实例
  4. canvas背景效果
  5. LeetCode447. Number of Boomerangs
  6. 将公司的主要项目从eclipse迁移到android studio for mac环境(1)
  7. 07.用户控件弹窗提示后页面显示不正常;
  8. 汇编语言学习之汇编语言源程序的输入
  9. HDU 4966 GGS-DDU(最小树形图)
  10. thinkphp 前台html调用函数 格式化输出