千家信息网

shell 自定义函数

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,Shell 函数定义的语法格式如下:function name() {statements[return value]}对各个部分的说明:function是 Shell 中的关键字,专门用来定义函数;
千家信息网最后更新 2024年12月12日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 也不限制定义和调用的顺序,你可以将定义放在调用的前面,也可以反过来,将定义放在调用的后面。

实例演示

1) 定义一个函数,输出 Shell 教程的地址:

#!/bin/bash

#函数定义

function url(){

echo "http://c.biancheng.net/shell/"

}

#函数调用

url

运行结果:

http://c.biancheng.net/shell/

你可以将调用放在定义的前面,也就是写成下面的形式

#!/bin/bash

#函数调用

url

#函数定义

function url(){

echo "http://c.biancheng.net/shell/"

}

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

#!/bin/bash

function getsum(){

local sum=0

for n in $@

do

((sum+=n))

done

return $sum

}

getsum 10 20 55 15 #调用函数并传递参数

echo $?

运行结果:

100

函数 参数 关键 关键字 也就是 代码 写法 名字 形式 括号 结果 部分 运行 不同 之间 反过来 地址 多个 实例 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全怎么通俗理解 咖啡视频软件开发 余姚市低效用地数据库 网上数据库名称 杭州管理软件开发哪家值得信赖 金山区网络营销软件开发价格表格 徐州推广网络技术报价 B将数组的值填入数据库 以DSL驱动复杂软件开发 软件开发公司面临的法律问题 狼狼爱房网络技术有限公司 实验小学网络安全教育计划 郑州中企互联网科技有限公司 旗天科技布局互联网 ftp手机服务器是什么 守望先锋检索服务器困难 周村文件审批oa软件开发公司 湖州育星网络技术有限公司福利 网络安全带给我们的启示 国办发2017年网络安全 数据库错误2006 景德镇安卓软件开发 公共信息网络安全网上报警 山西太原dns服务器云服务器 汽车车载网络技术考试 网络安全大赛基本知识 服务器硬盘2.4t与1.2t 儿童网络安全人内容包括 SQL数据库中元组称为 计算机网络技术常考缩写
0