文档章节

shell学习之创建函数

woshixin
 woshixin
发布于 10/21 18:35
字数 534
阅读 5
收藏 0

函数是一个脚本代码块,你可以为其命名并在代码中任何位置重用。

在bash shell脚本中创建函数基本使用如下两种方式,第二种格式更接近于其他编程语言中定义函数的方式。

function name {commands} 或者name() { commands }

简单写一个demo

输出:

当然我们在使用函数的时候希望有返回值,在之前的学习中,已经知道,函数执行完会返回默认的值,成功则返回0,那么我们如果想返回自己的定义码可以用return,return命令来退出函数并返回特定的退出状态码。

执行结果:

正如可以将命令的输出保存到shell变量中一样,你也可以对函数的输出采用同样的处理办法。可以用这种技术来获得任何类型的函数输出,并将其保存到变量中。

执行输出:

函数会用echo语句来显示计算的结果。该脚本会获取myfunc2函数的输出,而不是查看退出状态码。

函数可以使用标准的参数环境变量来表示命令行上传给函数的参数。例如,函数名会在$0 变量中定义,函数命令行上的任何参数都会通过$1、$2等定义

执行输出:

默认情况下,你在脚本中定义的任何变量都是全局变量。在函数外定义的变量可在函数内正常访问。

无需在函数中使用全局变量,函数内部使用的任何变量都可以被声明成局部变量。要实现这 一点,只要在变量声明的前面加上local关键字就可以了

© 著作权归作者所有

共有 人打赏支持
woshixin
粉丝 24
博文 239
码字总数 208435
作品 0
杭州
程序员
私信 提问
Python 语言开发学习--PythonTurtle

PythonTurtle 是什么? PythonTurtle 主要目的是为使用 Python 语言进行软件开发提供低门槛的学习方式。初学者可以在内置的 Python shell (类似于 IDLE 环境)中发出指令,并且可以使用 Py...

匿名
2017/01/07
228
0
Linux Shell基础知识,你想知道的都在这里

  小编提示:此篇文章阅读时间为15分钟左右,可先收藏后阅读。   01/Linux 的江湖地位   Linux 作为一个全球用户超过14亿的操作系统,它的强大与神奇就不必多说了,混在IT界 Linux是可...

恒生开发者社区
2017/03/10
0
0
创建和使用shell函数

来源: Linux命令行与shell脚本编程大全 Github地址 博客地址,推荐电脑点击阅读。 内容 基本的脚本函数 返回值 在函数中使用变量 数组变量和函数 函数递归 创建库 在命令行上使用函数 我们可...

王诗翔
2017/11/25
0
0
Linux:进程间关系和守护进程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/triorwy/article/details/80896335 更多学习资源尽在Linux学习总结 1.进程组 概念:进程组是一个或多个进程的...

Triorwy
07/03
0
0
Linux Namespace : UTS

UTS namespace 用来隔离系统的 hostname 以及 NIS domain name。UTS 据称是 UNIX Time-sharing System 的缩写。 hostname 与 NIS domain name hostname 是用来标识一台主机的,比如登录时的提...

sparkdev
07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
29分钟前
2
0
深度剖析阿里巴巴对Flink的优化与改进

摘要: 作者 | 阿里巴巴实时计算团队 导读:随着人工智能时代的降临,数据量的爆发,阿里巴巴的商品数据处理就经常需要面对增量和全量两套不同的业务流程问题,所以阿里巴巴就在想:能不能有...

阿里云官方博客
30分钟前
2
0
Dubbo基础介绍

Dubbo是一个常用的分布式服务框架, 它致力于提供高性能、透明化的RPC远程服务方案。 学习Dubbo有助于提高企业级应用的开发效率,以及可通过简单的配置就可以实现负载均衡,提高服务的效率。...

Java搬砖工程师
41分钟前
4
0
VBS 自动登陆

1.关于网页元素属性 IE浏览器打开网页时,有很多元素,比如说一个文本框,一个按键等。每个元素都会有对应的“name”、“ID”,“style”,“class”等属性。 其中的“ID”和“name”属性是我...

宝贝女儿
46分钟前
1
0
GO 文件相关操作

package mainimport("fmt""os""bufio""io""io/ioutil")type ChartCount struct{Chct intSpacect intNumberct intOtherct int}func main() {file,err := os.Open......

汤汤圆圆
47分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部