【shell脚本】函数

news2024/9/27 23:33:13

函数

  • 一、shell函数
    • 1.1函数的定义
    • 1.3 函数返回值
    • 1.4函数传参
    • 1.5递归的使用
  • 二、实验
    • 2.1实验一
    • 2.2实验二
    • 2.3实验三

一、shell函数

  • 使用函数可以避免代码重复
  • 使用函数可以将大的过程风为若干个小的功能模块,代码的可读性更强

1.1函数的定义

【1】
function 函数名 {
  命令序列
}
【2】
函数名() {
  命令序列
}

1.3 函数返回值

  • return表示退出函数并返回一个退出值,脚本中可以使用$?变量显示该值
    return使用原则
  • 函数已结束就去返回值,应为$?变量只能返回执行的最后一条命令的退出状态码
  • 退出状态码必须是0~255,超出的将为除以256取余
    return输出函数值
    在这里插入图片描述echo输出函数值
    在这里插入图片描述

1.4函数传参

  • 函数里面的位置变量代表这,使用函数后面跟着的位置变量.
  • 脚本里面的位置变量,代表执行脚本时的位置变量
  • 注:不管是在函数内还是函数外$0都代表脚本本身
  • 函数变量的作用范围值当前脚本内的shell环境有效
  • 使用(source)执行脚本,也会影响系统当前shell 环境
  • 在函数内使用local变量,可以将变量限定在函数内使用
    在这里插入图片描述

1.5递归的使用

  • 递归就是函数调用自己本身

阶乘

在这里插入图片描述

二、实验

2.1实验一

使用函数递归目录/var/log,如果是文件直
接输出文件名,如果是目录则输出目录名且输出此目录下的所有目录和文件名

2.2实验二

通过脚本输出环境变量PATH所包含的所有目录以及其中的子目录和所有不可执行文件

在这里插入图片描述

2.3实验三

将一个点分十进制格式的IP地址转换成点分二进制格式

在这里插入图片描述

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

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

相关文章

OJ练习第99题——推箱子

推箱子 力扣链接:1263. 推箱子 题目描述 「推箱子」是一款风靡全球的益智小游戏,玩家需要将箱子推到仓库中的目标位置。 游戏地图用大小为 m x n 的网格 grid 表示,其中每个元素可以是墙、地板或者是箱子。 现在你将作为玩家参与游戏&a…

深度学习—神经网络基础原理

前向传播(Forward) 为什么要有激活函数 这里用两层来代表多层的神经网络举例:第一层的输出是第二层的输入,其中MM的W*X矩阵乘法,ADD是向量加法即加上偏置,如果每一层都只有线性变换,那么最终无…

Modbus转Profibus网关连接安科瑞ARD3T电机保护器接到300PLC配置案例

案例介绍兴达易控Modbus转profibus网关(XD-MDPB100)把安科瑞ARD3T电机保护器在博图软件里无需编程实现由profibus转modbus协议之间的互转,用到的设备安科瑞ARD3T电机保护器一台;兴达易控Modbus转profibus网关(XD-MDPN1…

解密Diem币:探索Facebook的数字货币计划

大家好!我是ClonBrowser小鱼,今天我要和大家一起解密一种备受关注的数字货币——Diem币。 或许你已经猜到了,这个数字货币与社交媒体巨头Facebook有关。是的没错,Facebook正计划推出一种自己的加密货币,名为Diem币。让…

为什么做白平衡?康耐视Visionpro和Basler pylon,海康MVS如何做白平衡-三种软件相同条件下,白平衡效果一样?

为什么会有白平衡这个问题? 因为不同颜色的差异来自于不同波长光线的比例不同。 由于在不同色温下各种波长光纤比例的不同,造成白色在高色温的光线照射下显得较蓝,在低色温度的光线下显得较黄。如下图: 问题:在相同条件下,康耐视Visionpro和Basler pylon,海康MVS做白平…

机器学习决策树、回归树 sklearn-day1

#文章很多内容来自菜菜老师的课件。仅做笔记一、决策树 1、模块 2、sklearn基本建模流程 #分类树对应的代码 from sklearn import tree #导入需要的模块 clf tree.DecisionTreeClassifier() #实例化 clf clf.fit(X_train,y_train) #用训练集数据训练模型 result clf…

JavaWeb 中 Filter过滤器

Filter过滤器 每博一文案 师傅说:人生无坦途,累是必须的背负,看多了,人情人暖,走遍了离合聚散,有时会 在心里对自己说,我想,我是真的累了,小时候有读不完的书&#xff0…

大学生志愿者管理信息系统设计与实现(论文+源码)_kaic

摘 要 在国家的十四五期间,志愿服务成为推动社会文明发展的重要力量。大学生是志愿活动的中坚力量。现有的志愿管理工作不能满足志愿活动的需要,存在活动找不到志愿者,志愿者找不到活动的情况。为服务良好的志愿服务体系,对大学…

Hologres技术揭秘: JSON半结构化数据的极致分析性能

作者:王华峰(花名继儒),Hologres研发 近年来,随着移动端应用的普及,应用埋点、用户标签计算等场景开始诞生,为了更好的支撑这类场景,越来越多的大数据系统开始使用半结构化JSON格式…

保姆级教程:OpenAI获取Account详细教程2023/05/09最新

前言 最近OpenAI封的比较严重,建议大家不要批量,容易被封,也不要用公用的IP 一、上网 首先你要学会上网(懂?)、这一步是必须的。 现在MG等地方的IP已经很难了,可以选择一些小众国家的IP 二、开…

【论文阅读】Online multi-sensor calibration based on moving object tracking

目录 Online multi-sensor calibration based on moving object trackingAbstract1. Introduction2. Proposed Method2.1 Object Detection2.2 Tracking of moving objects2.3 Track-to-track association2.4 Decalibration(解关联) detection2.5 Graph-based extrinsic calibr…

花菁染料CY5.5标记活性脂 Cy5.5-NHS

Cy5.5 NHS ester用于染色蛋白质、标记DNA、标记细胞表面抗原、标记抗体和其他生物分子。Cy5.5 NHS ester还可以用于分子影像学,可以追踪细胞内的变化。它还可以用于荧光免疫检测,以检测细胞表面抗原和抗体。 产品名称:五甲川花菁染料CY5.5标记…

OpenGL 4.0的Tessellation Shader(细分曲面着色器)

细分曲面着色器(Tessellation Shader)处于顶点着色器阶段的下一个阶段,我们可以看以下链接的OpenGL渲染流水线的图:Rendering Pipeline Overview。它是由ATI在2001年率先设计出来的。 目录 细分曲面着色器细分曲面Patch细分曲面控…

手把手实现项目中自定义动态数据源?

手把手实现项目中自定义动态数据源? 第一步:创建项目,添加POM依赖第二步:添加application.yml配置文件第三步:自定义注解指定使用哪个数据源第四步:创建DynamicDataSourceContextHolder工具类,存…

LeetCode:347. 前 K 个高频元素

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 题解目录 一、🌱[347. 前 K 个高频元素](https://leetcode.cn/problems/bina…

安全防线再升级 | 中睿天下全流量安全分析系统重磅回归

随着信息化的加速,企业网络日趋完善。企业数字化的加速,让越来越多的关键业务运行在计算机网络基础之上,越来越多的重要信息通过网络传送,企业网络面临日益严重的安全威胁,这些安全威胁以窃取信息和收集情报为主&#…

基于docker安装MySQL

为了更好的管理,打算把MySQL、redis等服务放在虚拟机中统一部署,这样不会因为这些服务的问题影响到系统本身。前段时间正好在看docker相关的内容,打算在虚拟机中通过docker来使用MySQL等服务。 这次先记录安装MySQL的过程。 docker安装 首先…

超越 Nginx!号称下一代 Web 服务器,用起来够优雅!

Nginx是一款非常流行的Web服务器,在Github上已有16KStar,我们经常用它来做静态资源托管或反向代理。最近发现了一款全新的Web服务器Caddy,Star数超越Nginx,标星38KStar。试用了一下Caddy,发现它使用起来比Nginx优雅多了…

掌握这五个核心步骤,让你的方案完美无缺

写策划方案怎么来写,可能会是刚入行策划人的难点,策划方案其实就是一份营销计划,一份完整的策划能让策划人看清自己、认清竞争对手,形成对市场的整体认知。 一般大的营销策划方案里面会用到STP、SWOT和4P等模型,模型本…

【Java多线程编程】创建线程的基本方式

大家好,我是一只爱打拳的程序猿。今天给大家带来的内容是 Java 创建线程的基本方式。 多线程的基本创建方式: 继承Thread类实现Runnable接口匿名内部类使用lambda表达式 目录 1. 继承Thread类 1.1 Thread类启动线程 2. 实现Runnable接口 2.1 创建Thread类实例…