Shell编程---函数部分

穿精又带淫゛_ 提交于 2020-02-15 07:22:23

1.Shell函数的本质

  • 本质是一段可以重复使用的脚本代码
  • 这段代码被提前编写好了,放在指定的位置,使用时直接调取即可
  • Shell中的函数和C++、Jave、Python、C#等其他编程语言中的函数类似,只是在语法细节有所差别

2.Shell函数的语法格式

function name() {
	statements
	[return value]
}
  • 关于各个部分的说明:
  • function 是Shell中的关键字,专门用来定义函数
  • name 三个函数名
  • statements 是函数要执行的代码,也就是一组语句
  • return value 表示函数的返回值,其中return是Shell关键字,专门用在函数中返回一个值(用【】括起来的这一部分可以写也可以不写)
  • 注意: 用{ }包围的部分成为函数体,调用一个函数,实际上就是执行函数体中的代码

3.函数定义的简化写法

  • 简化写法1
  • 函数定义时也可以不写function关键字
name() {
	statements
	[return value]
}
  • 简化写法2
  • 若写了function关键字,也可以省略函数名后面的小括号
function name {
	statements
	[return value]
}

4.函数调用

  • 调用Shell函数时可以给它传递参数,也可以不传递
  • 如果不传递参数,直接给出函数名字即可:name
  • 如果传递参数,那么多个参数之间可以空格分隔:name parem1 param2 param3
  • 注意:
  • 不管是哪种形式,函数名字后面都不需要带括号
  • 和其他编程语言不同的是,Shell函数在定义时不能指明参数,但在调用时却可以传递参数,并且给它传递什么参数它就接收什么参数,即没有实参和形参的区别
  • Shell不限制定义和调用的顺序,你可以将定义放在调用的前面,也可以反过来,将定义放在调用的后面,当linux版本不同时,限制也不同,红帽版本只能先定义再调用

5.函数参数

  • 和C++、C#、Python等大部分编程语言不同,Shell中的函数在定义时不能指明参数,但是在调用时可以传递参数
  • 函数参数是Shell位置参数的一种,在函数内部可以使用 $n 来接收,例如,$1表示第一个参数,$2表示第二个参数,以次类推
  • 除了$n,还有另外三个比较重要的变量:
  • $# 可以获取传递参数的个数
  • $@或者 $* 可以一次性获取所有参数

6.应用

  • 示例1

在这里插入图片描述

  • 示例2
    在这里插入图片描述
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!