【shell脚本】函数

news/2024/12/5 11:55:51/

函数

  • 一、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.ppmy.cn/news/62385.html

相关文章

JAVA中的异常处理机制是怎样的?

在 Java 中,异常处理机制是一种可以使程序在出现错误时进行自我修复的机制。Java 的异常处理机制可以通过抛出异常和捕获异常来实现。当一个异常被抛出时,程序会停止运行并输出异常信息,如果在代码中合适的位置进行捕获并处理异常&#xff0c…

[Tool] python项目中集成使用Firebase推送功能

背景介绍 目前,App推送功能已经非常普遍,几乎所有App都有推送功能。推送功能可以自己实现,也可以使用第三方提供的推送服务(免费的收费的都有)。本文主要介绍使用Firebase提供的推送服务Firebase Cloud Messaging&…

Python进阶——实现人脸识别

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 今天我们来实现一下人脸识别~ 先问大家一个问题 什么是百度Aip模块? 百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中 本文写的是使用百度AI的在线接口SDK模块(baidu-aip&#…

【2023年Mathorcup杯数学建模竞赛C题】电商物流网络包裹应急调运与结构优化--完整作品分享

1.问题背景 2.论文摘要 为了应对电商物流网络中物流场地和线路电商物流网络中物流场地和线路上货量波动的情况, 设计合理的物流网络调整方案以保障物流网络的正常运行。本文运用 0-1 整数规划模型,多目标动 态规划模型,给出了问题的结果。 针…

LLMs 记忆体全新升级:六大新功能全面出击,用户体验值拉满!

LLMs 时代之下,CVP Stack 必不可少。 其中,C 代表以 ChatGPT 为代表的大模型,它在 AI 程序中充当中央处理器的角色;V 代表 Vector Database,即以 Zilliz Cloud 和 Milvus 为代表的向量数据库,为大模型提供知…

.net7 通过 JsonTranscoding 实现 gRPC 与 Web API 一鱼两吃

目标 在一个网站内,用一套proto即提供gPRC 调用,又提供 Web API 调用。 实现方法 根据微软官方James Newton King(Newtonsoft.json 作者)的文章,.net7 里面提供了 JsonTranscoding 特性,只需要三步&#x…

【Mybatis】增删改查

1.添加相应的jar包 2.创建持久化类 在src目录下创建一个名为com.mybatis.po的包 创建持久化类MyUser,包含三个属性(uid,uname,usex) package com.mybatis.po; /***springtest数据库中user表的持久化类*/ public class MyUser {private Integer uid;//主键private…

MathType7简体中文版数学公式编辑器下载安装教程

MathType一款专业的数学公式编辑器,理科生专用的必备工具,可应用于教育教学、科研机构、工程学、论文写作、期刊排版、编辑理科试卷等领域。2018年2月,MathType 7简体中文版正式发布,给用户带来全新的体验。MathType 是Windows和M…