Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。

一、语法

Shell 函数定义的语法格式如下:

function name() {statements[return value]
}

对各个部分的说明:

  • function是 Shell 中的关键字,专门用来定义函数;
  • name是函数名;
  • statements是函数要执行的代码,也就是一组语句;
  • return value表示函数的返回值,其中 return 是 Shell 关键字,专门用在函数中返回一个值;这一部分可以写也可以不写。
  • { }包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的代码。

二、函数定义的简化写法

函数定义时也可以不写 function 关键字:

name() {statements[return value]
}

如果写了 function 关键字,也可以省略函数名后面的小括号:

function name {statements[return value]
}

三、函数调用

调用 Shell 函数时可以给它传递参数,也可以不传递。如果不传递参数,直接给出函数名字即可:

name

如果传递参数,那么多个参数之间以空格分隔:

name param1 param2 param3

不管是哪种形式,函数名字后面都不需要带括号。

和其它编程语言不同的是,Shell 函数在定义时不能指明参数,但是在调用时却可以传递参数,并且给它传递什么参数它就接收什么参数。

Shell 也不限制定义和调用的顺序,你可以将定义放在调用的前面,也可以反过来,将定义放在调用的后面。

四、范例

定义一个函数,计算所有参数的和:

#!/bin/bash
function getsum(){local sum=0for n in $@do((sum+=n))donereturn $sum
}
getsum 10 20 55 15  #调用函数并传递参数
echo $?

$@表示函数的所有参数,$?表示函数的退出状态(返回值)

五、系统函数

5.1、basename基本语法

basename [string / pathname] [suffix]

功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。

选项:

suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。

5.2、dirname基本语法

 dirname #文件绝对路径

功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)

Shell脚本——函数相关推荐

  1. Linux的shell脚本函数教程

    Linux的shell脚本函数教程 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.shell中函数使用示例 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.she ...

  2. Shell脚本函数(函数传参、递归、创建库)

    Shell脚本函数 一.Shell函数 1.Shell函数定义 2.函数的返回值 return echo 二.函数传参 三.函数变量的作用范围 四.递归 1.阶乘 2.递归目录 五.创建库 一.She ...

  3. Shell脚本函数应用

    记录:429 场景:Shell脚本函数应用,定义函数,函数调用,函数传参. 版本:CentOS Linux release 7.9.2009. 1.普通函数 示例普通函数是没有入参和返回值. 1.1脚 ...

  4. Shell脚本——函数、中断及退出、字符串处理

    Shell函数 函数:在shell脚本中,将一些需要重复使用的操作,定义为公共的语句块,即可称为函数.通过使用函数,可以使脚本代码更加简洁,增强易读性,提高shell脚本的执行效率. 1)函数的定义方 ...

  5. 【shell】shell脚本实战-shell脚本函数详解

    文章目录 前言 shell函数的定义 函数的优势 shell 函数的调用 实战案例 总结 前言 Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接 ...

  6. Shell脚本函数简介及运用

    目录 一.函数的作用 二.定义函数 三.调用函数 1.在脚本中调用函数 2.在函数中调用函数 四.函数传参 五.函数的返回值 六.函数的递归 七.函数及其变量的作用范围 八.外部脚本调用函数 一.函数 ...

  7. shell脚本函数声明,调用

    shell脚本中函数的声明, 调用,处理结果的返回等问题. 1. 函数声明 1.1 函数需要先声明后调用, 声明和调用有顺序要求. 1.2 shell中的函数返回值只能是数字, 返回0表示执行成功, ...

  8. Linux中Shell脚本函数库的笔记

    Shell函数库的作用:函数库就是对一些十分常用的功能,独立出来,然后集中存放在一些独立的文件中,这些文件可以理解为函数库.函数库本质上也是函数,一般情况下函数库的函数建议使用下划线开头. 示例: c ...

  9. linux shell脚本传数组参数,shell脚本----函数和数组

    目录 一.shell函数 1.简介 2.格式 3.函数调用 4.示例演示 5.递归函数 二.shell数组 1.数组 2.Shell 数组的定义 3.获取数组元素 4.元素切片,替换,删除 5.示例演 ...

最新文章

  1. EOSIO 指南(创建测试帐户)
  2. 火锅店市场容量或变化趋势_2020-2026年中国氮肥市场深度研究与投资前景预测报告...
  3. 7、MySQL数据类型的选择
  4. 主键约束、外键约束、唯一约束、检查约束、默认值约束实例
  5. excel合并多个工作表_多个工作表或者多个工作簿的合并计算
  6. httpServlet,java web后台服务
  7. c语言中1%100是什么意思,**************
  8. java下载网络文件_java下载网络文件的方法有哪些
  9. 李开复谈创业失败十原因:经不住诱惑 直接山寨
  10. mysql 创建表格time类型_第十九天MySQL数据库入门(mysql数据类型)
  11. html设置分割线怎么下移,HTML设置水平分割线
  12. 哈夫曼实现文件压缩解压缩(c语言)
  13. 这绝对是目前最好用的电脑桌面便签,免费的,墙裂推荐
  14. ⅰsee是什么意思_see是什么意思
  15. php依赖注入框架pimple中文文档
  16. 基于Python3的格雷厄姆 股票估值模型
  17. Myeclipse报错:The word is not correctly spelled
  18. 无法启动系统时间服务器,Win10系统不能启动Windows Time服务怎么办?
  19. 首页大广告展示——淘淘商城(十六)
  20. 你必须懂!也可以懂的@Transactional原理!

热门文章

  1. pandas绘图_pandas与seaborn可视化对比小案例
  2. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计
  3. c语言百文百鸡问题答案,python_百文买百鸡问题
  4. mac系统在云服务器地址,mac如何登陆云服务器地址
  5. java.net.url 中文乱码,.Net获取URL中文参数值的乱码问题解决方法总结
  6. python思想读后感_《Deep Learning with Python》读后感精选
  7. c语言传入参数不正确,请高手看看一下程序怎么回事啊?老是提示传参数错误...
  8. linux进程增删改查,iptables的增删改查
  9. 获取行信息_论文推荐 | 周乐韬,黄丁发,袁林果,等:基于状态和残差的北斗基准站观测数据表达与信息分级...
  10. python中加减乘除是什么数据类型_python中,数字类型计算