shell的函数

news2024/9/27 1:20:19

一、shell函数

         有些脚本段间互相重复,如果能只写一次代码块而在任何地方都能引用那就提高了代码的可重用性。
          shell 允许将一组命令集或语句形成一个可用块,这些块称为 shell 函数。

二、shell函数的格式

2.1.第一种格式

函数名()
{

   命令                               #不带分号;
 
}

2.2、第二种格式

function 函数名()                    #function  表示这是shell函数
{

   命令                               #不带分号;
 
}

所有函数在使用前必须定义,必须将函数放在脚本开始部分,直至 shell 解释器首次发现它时,才可以使用

例子:

输出

三、调用函数格式

3.1、调用函数的格式1:函数名 param1 param2……

例子:

 


3.2、使用参数同在一般脚本中使用特殊变量如: $1,$2 ...$9 一样

例子:

3.3、函数可以使用 return 提前结束并带回返回值
 

return 从函数中返回,用最后状态命令决定返回值($?)

注意:$?最大只能返回255,超出返回错误值

例子1:

输出,返回错误值44      正确值300 ,故返回错误

例子2 

输出返回值:30       正确值:30   故返回正确

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/367078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

selenium自动化测试用例需要关注的几点

自动化测试设计简介注:参看文章地址 我们在本章提供的信息,对自动化测试领域的新人和经验丰富的老手都是有用的。本篇中描述最常见的自动化测试类型, 还描述了可以增强您的自动化测试套件可维护性和扩展性的“设计模式”。还没有使用这些技术…

Clion安装Platformio支持

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、系统配置二、什么是platformio三、安装配置1.安装Clion2.安装platformio插件3.安装platformio(CLI)4. 配置Clion环境5. 创建示例Demo…

低功耗设计:rush current

在power gating的设计中有一个rush current的概念,它的产生原因是switch cell上电过程相当于电容充电过程,会产生一个短期的大电流,称之为rush current。 1.rush current的危害 1)rush current产生的压降可能会造成大的短路电流…

Python学习笔记——NumPy

一、向量数据 ①概念 向量数据是指存储一系列同类数据的有序数据结构。 ②分类 python中的列表和元组可以用来存储向量数据。 分为 一维列表,二维列表,三(多)维列表。 ③向量数据结构的理解 二、产生原因 大量的向量数据计算时,使用pyt…

蓝桥杯的比赛流程和必考点

蓝桥杯的比赛流程和必考点 距省赛仅1个多月!蓝桥杯的比赛流程和必考点,你还不清楚? “巷子里的猫很自由,却没有归宿;围墙里的狗有归宿,终身都得低头。人生这道选择题,怎么选都会有遗憾。” 但不…

弹性负载均衡器类型

Hello大家好,在本课时,我们将讨论AWS不同类型的弹性负载均衡器,也就是ELB。 对于认证考试您需要了解针对不同的场景使用哪种类型的负载均衡器。 负载均衡器类型 应用程序负载均衡器 第一个是应用程序负载均衡器,也就是ALB,ALB在…

ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool

本文介绍在ArcGIS下属ArcMap软件中,通过“Cut Polygons Tool”工具,对一个面要素矢量图层加以手动分割,从而将其划分为指定形状的多个部分的方法。 对于一个面要素矢量文件,有时我们需要对其加以划分,通过手动勾勒新的…

Python杂题-- 内附蓝桥题:裁纸刀

杂题 ~~不定时更新🎃,上次更新:2023/02/23 蓝桥例题1-裁纸刀🔪 问题描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有一个裁纸刀,每次可以将一张纸沿…

高阶数据结构之LRU Cache

文章目录什么是LRU Cache?LRU Cache的实现JDK中自带的数据结构模拟实现LRU Cache(双向链表哈希表)什么是LRU Cache? LRU的全称是“Least Recently Used”的缩写,表示最近最少的使用,是一种Cache替换算法&am…

机器学习和深度学习综述

机器学习和深度学习综述 1. 人工智能、机器学习、深度学习的关系 近些年人工智能、机器学习和深度学习的概念十分火热,但很多从业者却很难说清它们之间的关系,外行人更是雾里看花。在研究深度学习之前,先从三个概念的正本清源开始。概括来说…

2022-2-23作业

一、通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输入led2off,开饭led2灯熄灭 5.例如在串口输…

关于性能测试,你不可不知的内容

目录 1、性能测试概述 2、常见的性能测试指标 2.1、并发 2.2、响应时间 2.3、事务 2.3.1、事务响应时间 2.3.2、每秒事务通过数(TPS) 2.4、点击率 2.5、吞吐量 2.6、资源利用率 3、性能测试分类 3.1、一般性能测试 3.2、负载测试 3.3、压力…

虹科Dimetix激光测距仪在锯切系统中的应用

HK-Dimetix激光测距仪——锯切系统应用 许多生产设施,例如金属服务中心,使用切割锯将每个客户的订单切割成一定长度。定长切割过程通常涉及卷尺和慢跑锯的传送带。但更简单的替代方法是使用虹科Dimetix非接触式激光距离传感器。 为了切断大长度的棒材&…

Day898.Join语句执行流程 -MySQL实战

Join语句执行流程 Hi,我是阿昌,今天学习记录的是关于Join语句执行流程的内容。 在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 不让使用 join,使用 join 有什么问题呢?如果有…

1+1>2 ?多数据源关联分析系列…

数据表连接的 join 操作,相信大家都不陌生吧?在数据分析时,经常需要对多个不同的数据源进行关联操作,因此各类数据库的 SQL 语言都包含了丰富的 join 语句,以支持批计算关联。而在金融的业务场景中,流数据实…

系统崩溃如何恢复数据?4步,教您快速抢救丢失的数据

电脑保存着很多个人文件和数据,如果碰到电脑系统崩溃,可能会导致文件无法访问,甚至我们的数据会发生丢失的情况。系统崩溃如何恢复数据?我们先来了解下Windows操作系统发生崩溃的常见原因:一次性打开太多软件&#xff…

AG9300方案替代|替代AG9300设计Type-C转VGA方案|CS5260设计原理图

AG9300方案替代|替代AG9300设计Type-C转VGA方案|CS5260设计原理图 安格 AG9300是一款实现USB TYPE-C到VGA数据的单片机解决方案转换器。ALGOLTEK AG9300支持USB Type-C显示端口交替模式,AG9300可以将视频和音频流从USB Type-C接口传输到VGA端口。在AG9300&#xff0…

LeetCode 707. 设计链表

LeetCode 707. 设计链表 难度:middle\color{orange}{middle}middle 题目描述 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:valvalval 和 nextnextnext。valvalval 是当前节点的值,nextnextnext 是指向下…

FastCGI sent in stderr: "PHP message: PHP Fatal error

服务器php7.2卸载安装7.4之后,打开网站一直无法访问,查看nginx错误日志发现一直报这个错误:2023/02/23 11:12:55 [error] 4735#0: *21 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ReflectionException: Class translator does not exist in …

OpenGL超级宝典学习笔记:原子计数器

前言 本篇在讲什么 本篇为蓝宝书学习笔记 原子计数器 本篇适合什么 适合初学Open的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重实践,轻理论&#…