我们一起来学Shell - shell的函数
我们一起来学Shell - 初识shell
我们一起来学Shell - shell的变量
我们一起来学Shell - shell的条件判断
我们一起来学Shell - shell的循环控制
我们一起来学Shell - shell的数组
我们一起来学Shell - shell的函数
我们一起来学Shell - shell的并发及并发控制
我们一起来学Shell - 正则表达式
Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可
定义函数
- 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
function name () {
commands
[return value]
}
name () {
commands
[return value]
}
function 是 Shell 中的关键字,专门用来定义函数;
name 是函数名称;
commands 是函数要执行的代码,也就是一组语句;
return value 表示函数的返回值,其中 return 是 Shell 关键字,专门用在函数中返回一个值;这一部分可以写也可以不写。
由 { } 包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的代码。
函数的优势
- 方便n次使用,减少代码量,使之方便,整洁。
- 当需要修改里面的重复代码时,只需要修改一次函数即可实现需求;
- 将函数写进文件,需要时直接通过文件调用
执行不带参数的函数
直接输入函数名即可,不需要带括号
functionName
- 执行函数时,函数名称前的关键字
function
和函数名称后面的()
均不需要带上 - 函数的定义必须要在执行的程序前定义或加载
执行带参数的函数
functionName arg1 arg2
- Shell中的位置参数(
$1
,$2
…$#
,$?
,$@
)均可以做为函数的参数进行传递 $0
比较特殊,仍然是父脚本的名称- 此时父脚本的参数会临时被函数的参数所掩盖或隐藏
- 函数的参数变量是在函数体内里面进行定义
函数的执行总结
- Shell各种程序的执行顺序为:系统别名->函数->系统命令->可执行文件等
- 函数执行时,会和调用它的脚本共享变量,也可以为函数设定局部变量及特殊位置参数
- 在Shell函数里面,return和exit功能类似,区别是
- return是退出函数
- return语句会返回一个值给调用函数的程序
- exit则是退出脚本
- exit则会返回一个值给执行当前脚本的Shell
- return是退出函数
- 如果将函数单独存放为一个文件,在加载时需要使用
source
或.
进行加载 - 在函数内部一般使用
local
定义局部变量
,仅在函数体内有效
我们一起来学Shell - shell的函数的更多相关文章
- 我们一起来学Shell - shell的并发及并发控制
文章目录 bash的并发 未使用并发的脚本 简单修改 使用wait命令 控制并发进程的数量 文件描述符 查看当前进程打开的文件 自定义当前进程用描述符号操作文件 管道 我们一起来学Shell - 初识 ...
- 我们一起来学Shell - shell的数组
文章目录 什么是数组 数组中常用变量 数组的定义 小括号定义数组变量 小括号加键值对定义数组变量 分别定义数组变量 动态地定义数组变量 数组赋值的切片 遍历数组 关联数组 我们一起来学Shell - ...
- 我们一起来学Shell - shell的循环控制
文章目录 Shell 循环之 for 语句 Shell 循环之 while 语句 Shell 循环之 until 语句 Shell 循环控制 break指令 continue 指令 exit 指令 s ...
- 我们一起来学Shell - shell的条件判断
文章目录 Shell 条件测试语法 符号说明 Shell 测试表达式 文件测试表达式 字符串测试表达式 整数操作符 逻辑操作符 测试表达式的区别总结 Shell 条件判断之if语句 单分支 IF 条件 ...
- shell流程控制&函数
条件 if-then-elif-then-fi if的条件部分经常使用test EXPRESSION或[ EXPRESSION ]实现,test的用法可以参见test if 条件1 #if 条件1;t ...
- shell实现trim函数-去除字符串两侧的空格(包括tab,space键)
shell实现trim函数效果去除字符串两侧的空格,以下三个命令等价,都能实现 sed 's/^\s*//' totrim.txt |sed 's/\s*$//'>trimed.txtsed ' ...
- shell中的函数、数组、报警系统脚本
1.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这 个小单元的名字即可.格式: function f_name() {commond} ...
- shell编程之函数
一.函数定义和调用 函数是Shell脚本中自定义的一系列执行命令,一般来说函数应该设置有返回值(正确返回0,错误返回非0).对于错误返回,可以定义其他非0正值来细化错误.使用函数最大的好处是可避免出现 ...
- centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课
centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 ...
随机推荐
- 使用 arguments 对象
arguments 对象表示参数集合,它是一个伪类数组,拥有与数组相似的结构,可以通过数组下标的形式访问函数实参值,但是没有基础 Array 的原型方法. //函数没有定义形参,但是在函数体内通过 a ...
- [WPF] 用 Effect 实现线条光影效果
1. 前言 几个月前 ChokCoco 大佬发布了一篇文章: CSS 奇技淫巧 | 妙用 drop-shadow 实现线条光影效果 在文章里实现了一个发光的心形线条互相追逐的效果: 现在正好有空就试试 ...
- 曼孚科技:“四管齐下”筑牢AI数据隐私安全防线
谈及数据,绕不开的一个话题就是数据隐私与数据安全.随着数字化进程加快,数据安全事件频发,据Risk Based Security统计,去年国际数据泄露事件近5000起,被泄露数据近41亿条,数据造成的 ...
- golang gin框架中实现大文件的流式上传
一般来说,通过c.Request.FormFile()获取文件的时候,所有内容都全部读到了内存.如果是个巨大的文件,则可能内存会爆掉:且,有的时候我们需要一边上传一边处理. 以下的代码实现了大文件流式 ...
- vue体验
1.创建工作区 2.点击添加文件 3.新建一个html文件,并输入!+tab 自动生成html结构 4.输入div#app,生成头部 <!DOCTYPE html> <html l ...
- 抽象类 final
抽象类 1.用abstract关键字来修饰一个类时,这个类叫做抽象类,用abstract来修饰一个方法时,这个方法叫抽象方法. 2.含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被 ...
- K8S的安装部署以及基础知识
Kubernetes(K8S)概述 Kubernetes又称作k8s,是Google在2014年发布的一个开源项目. 最初Google开发了一个叫Borg的系统(现在命名为Omega),来调度近20多 ...
- ORA-15081: failed to submit an I/O operation to a disk
Problem: While restoring controlfile to test environment, from filesystem or tape environment after ...
- 字体替换 re.sub
dic={'hqo3r': '迎', 'hq6ic': '名', 'hq7yw': '头', 'hq1lk': '新', 'hqpe1': '肇'} content=''' 总体hqo3r则,错的注( ...
- Ubuntu更换镜像源
不同的源 当修改sources.list文件时,我们需要将下面任意一个镜像源的代码复制粘贴到该文件中. 阿里源 # 阿里镜像源 deb http://mirrors.aliyun.com/ubuntu ...