Shell脚本——函数
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脚本——函数相关推荐
- Linux的shell脚本函数教程
Linux的shell脚本函数教程 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.shell中函数使用示例 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.she ...
- Shell脚本函数(函数传参、递归、创建库)
Shell脚本函数 一.Shell函数 1.Shell函数定义 2.函数的返回值 return echo 二.函数传参 三.函数变量的作用范围 四.递归 1.阶乘 2.递归目录 五.创建库 一.She ...
- Shell脚本函数应用
记录:429 场景:Shell脚本函数应用,定义函数,函数调用,函数传参. 版本:CentOS Linux release 7.9.2009. 1.普通函数 示例普通函数是没有入参和返回值. 1.1脚 ...
- Shell脚本——函数、中断及退出、字符串处理
Shell函数 函数:在shell脚本中,将一些需要重复使用的操作,定义为公共的语句块,即可称为函数.通过使用函数,可以使脚本代码更加简洁,增强易读性,提高shell脚本的执行效率. 1)函数的定义方 ...
- 【shell】shell脚本实战-shell脚本函数详解
文章目录 前言 shell函数的定义 函数的优势 shell 函数的调用 实战案例 总结 前言 Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接 ...
- Shell脚本函数简介及运用
目录 一.函数的作用 二.定义函数 三.调用函数 1.在脚本中调用函数 2.在函数中调用函数 四.函数传参 五.函数的返回值 六.函数的递归 七.函数及其变量的作用范围 八.外部脚本调用函数 一.函数 ...
- shell脚本函数声明,调用
shell脚本中函数的声明, 调用,处理结果的返回等问题. 1. 函数声明 1.1 函数需要先声明后调用, 声明和调用有顺序要求. 1.2 shell中的函数返回值只能是数字, 返回0表示执行成功, ...
- Linux中Shell脚本函数库的笔记
Shell函数库的作用:函数库就是对一些十分常用的功能,独立出来,然后集中存放在一些独立的文件中,这些文件可以理解为函数库.函数库本质上也是函数,一般情况下函数库的函数建议使用下划线开头. 示例: c ...
- linux shell脚本传数组参数,shell脚本----函数和数组
目录 一.shell函数 1.简介 2.格式 3.函数调用 4.示例演示 5.递归函数 二.shell数组 1.数组 2.Shell 数组的定义 3.获取数组元素 4.元素切片,替换,删除 5.示例演 ...
最新文章
- EOSIO 指南(创建测试帐户)
- 火锅店市场容量或变化趋势_2020-2026年中国氮肥市场深度研究与投资前景预测报告...
- 7、MySQL数据类型的选择
- 主键约束、外键约束、唯一约束、检查约束、默认值约束实例
- excel合并多个工作表_多个工作表或者多个工作簿的合并计算
- httpServlet,java web后台服务
- c语言中1%100是什么意思,**************
- java下载网络文件_java下载网络文件的方法有哪些
- 李开复谈创业失败十原因:经不住诱惑 直接山寨
- mysql 创建表格time类型_第十九天MySQL数据库入门(mysql数据类型)
- html设置分割线怎么下移,HTML设置水平分割线
- 哈夫曼实现文件压缩解压缩(c语言)
- 这绝对是目前最好用的电脑桌面便签,免费的,墙裂推荐
- ⅰsee是什么意思_see是什么意思
- php依赖注入框架pimple中文文档
- 基于Python3的格雷厄姆 股票估值模型
- Myeclipse报错:The word is not correctly spelled
- 无法启动系统时间服务器,Win10系统不能启动Windows Time服务怎么办?
- 首页大广告展示——淘淘商城(十六)
- 你必须懂!也可以懂的@Transactional原理!
热门文章
- pandas绘图_pandas与seaborn可视化对比小案例
- matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计
- c语言百文百鸡问题答案,python_百文买百鸡问题
- mac系统在云服务器地址,mac如何登陆云服务器地址
- java.net.url 中文乱码,.Net获取URL中文参数值的乱码问题解决方法总结
- python思想读后感_《Deep Learning with Python》读后感精选
- c语言传入参数不正确,请高手看看一下程序怎么回事啊?老是提示传参数错误...
- linux进程增删改查,iptables的增删改查
- 获取行信息_论文推荐 | 周乐韬,黄丁发,袁林果,等:基于状态和残差的北斗基准站观测数据表达与信息分级...
- python中加减乘除是什么数据类型_python中,数字类型计算