话不多说,直接上格式:

linux shell中的函数格式:

  function Myfunc(){

    action;

    [return int;]  

  }

  其中,个人认为function和()都是函数的标志,如果不需要传递参数的话,选择其一即可让Myfunc表示为一个函数;

过程式的编程,涉及到一个重要的话题,即代码重用,一段代码的重用性是衡量程序脚本水平的重要指标之一。

Shell中的函数也是有生命周期的:

  在被调用时创建,返回时终止。return是终止函数执行的标志。一旦出现return时,函数内剩余的内容不会被执行。

  如果函数中没有return语句,缺省情况下,返回的是函数中最后一条命令的执行结果。

函数为什么需要返回值?

  函数的返回值区别于函数的执行结果;

  函数的执行结果可有可无,通过使用echo、print等命令输出信息;

  函数的返回值,也成函数的退出状态码,一定存在,默认是函数中最后一条命令的退出状态码,否则就用return N来实现(注意这里的N必须为整数)

  个人认为,函数的返回值一方面可以便于我们做脚本中的逻辑判断,通过在函数中设置不同的return值来实现不同的逻辑决策,

  从而实现不同的功能,另一方面,是在函数内部去实现逻辑判断,从而终止函数的执行。

和大多数的编程语言相似,Shell脚本中的函数也可以传递参数:

    ① 如何传递参数?

       调用函数时,在函数名后面以空白分隔开的实参列表即可;

        如:  

             #!/bin/bash

             Myfunc(){

echo "the first argument is $1"
echo "the number of arguments is $#"
return 4
}                  
Myfunc "hello" "world"

执行结果:

root@dbt:/home/marvin/shell# ./function.sh
the first argument is hello
the number of arguments is 2
root@dbt:/home/marvin/shell# echo $?
4

     ② 在函数体中,有哪些特殊变量可以引用?

        如上述代码中,$1和$#的使用:

          我们可以使用$1 $2 $3 ...来引用传递参数,

          使用$0来引用该脚本的相对路径;

          使用$#来引用传递参数的数目;

          使用$*和$@来引用传递的整体参数(两者略有区别);

        一切和shell脚本中原生的特殊变量类似。

     ③ 函数递归的实现:

        

转载于:https://www.cnblogs.com/temagenie/p/9442038.html

shell脚本之函数篇相关推荐

  1. Shell脚本中函数返回值的用法笔记

    函数的返回值又可以称为函数的退出状态,实际上可以理解为一种通信方式.Shell脚本中函数可以使用返回值的方式把调用的结果信息反馈给调用者.便于调用者可以根据反馈的结果做相应处理. 说明:函数的返回值主 ...

  2. Linux shell 脚本编程-实战篇(三)

    继: Linux shell 脚本编程-实战篇(二) 3. 一些小有意思的脚本 3.1 发送消息 3.1.1 功能分析 对于这种简单的脚本,需要的功能不多.涉及的一些命令很常见,下面了解脚本所需的几个 ...

  3. Linux shell 脚本编程-实战篇(二)

    继: Linux shell 脚本编程-实战篇(一) 2. 创建与数据库.Web及电子邮件相关的脚本 2.1 MySQL 数据库 2.1.1 MySQL 数据库安装 到 http://repo.mys ...

  4. Linux系统shell脚本之函数的使用

    Linux系统shell脚本之函数的使用 一.函数解释 二.函数参数 1.参数注意事项 2.特殊参数说明 三.函数实例1 四.函数实例2 一.函数解释 1.函数(function)作用:函数可以在sh ...

  5. linux 脚本 符号,Shell脚本 入门 —— 符号篇

    shell变量 shell变量不需要进行任何声明,直接定义即可,因为shell变量的值实际上都是字符串(对于没有定义的变量默认是一个空串).定义的时候shell变量由大写字母加下划线组成,并且定义的时 ...

  6. Shell脚本中函数的定义和调用笔记

    Shell脚本函数的作用主要是把一些可以通用的功能封装起来.避免脚本中出现大量重复的脚本代码,同时可以大大增强脚本的可读性.和可维护性. Shell函数定义的语法格式: function FUNCTI ...

  7. #9 shell脚本的函数运用

    systemV风格的服务管理脚本: 给脚本传递一些参数:start, stop, restart, status myservice.sh #!/bin/bash # lockfile="/ ...

  8. Shell脚本之函数

    前言:接上回分析,关于shell脚本最后一节和拐友们讲一下最后的函数,因为shell函数经常会使用. 目录 一.Shell函数 1.1Shell函数的基本格式 1.2.Shell函数的案例 1.3.函 ...

  9. shell脚本(function函数)

    function函数 1. 函数function的作用 2. 函数的定义 3. 函数参数 4. 在函数里用本地变量 1. 函数function的作用 函数function是由若干条shell命令组成的 ...

最新文章

  1. UE商城资源 Kitsune狐狸女孩
  2. 教你用Android做二次开发,识别率达到科大讯飞语音输入水平 | 原力计划
  3. oracle 大页配置,ORACLE 启用大页内存
  4. Dubbo管理控制台的安装
  5. 线性模型(1) —— 多元线性回归
  6. org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索)
  7. 基于Kubernetes 构建.NET Core 的技术体系
  8. 二下语文书电子课本_小学生语文成绩好,不是靠补课,把课本吃透,才是高效学习方法...
  9. 自学html代码,新手学HTML代码的简易方法
  10. Android获取图片资源的4种方式
  11. java 项目拆分_java – 多模块项目什么时候应该拆分成单独的存储库树?
  12. cube云原生机器学习平台-架构(二)
  13. 《R语言入门与实践》第八章:S3 与 R 面对对象编程
  14. 深入浅出-iOS函数式编程的实现 响应式编程概念
  15. 当我谈缓存的时候,我谈些什么
  16. 关于aab转apk的方法--bundletool
  17. 趋势杀毒曝远程执行漏洞 可盗取用户所有密码
  18. Wireshark 基础 | 简介篇
  19. 用计算机求正有理数算术平方根的步骤,用计算器求算数平方根、用有理数估计算数平方根的大小 (2).ppt...
  20. Python获取抖音视频链接

热门文章

  1. linux 获取本机的所有IP地址
  2. 182. 查找重复的电子邮箱
  3. 动态随机存储器的刷新(集中刷新、分散刷新、异步刷新的区别)
  4. centos7下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named ‘_ctypes‘的解决办法
  5. web安全测试---WebScarab工具介绍(中间攻击,可以修改请求参数)
  6. SpringBoot 多环境配置
  7. 英语发音规则---M字母
  8. 用较早版本的APIs实现抽象类
  9. js中setAttribute 的兼容性
  10. 普通码农和技术大牛之间,只差这10本书(1024高能福利)