当前位置:网站首页>shell 基础之函数编写
shell 基础之函数编写
2022-08-01 15:16:00 【Test_the_rookie】
一、为什么需要使用函数
因为shell没有模块和类的概念,当我们存在为了实现一个功能有大量的脚本需要执行时,为了便于操作,会将这些代码放在一起,通过调用一个特定的名称进行执行。提高脚本的复用率,能够优化代码结构。
二、语法
[function] 方法名()
{
需要执行的脚本
通常,[function都省略不写]
}
三、传参
3.1shell默认只支持9个参数,$1、$2分别表示第几个参数,使用shift可以传递更多的参数。
3.2、$#代表传入参数的个数,不包括$0
3.3、$$表示当前脚本执行的pid
3.4、$!后台最后一个运行的pid
补充了解:
$a与$*的区别:
在函数之间进行参数传递时,"$a"不会将传递的参数打散;$*会将传递的参数打散
四、函数调用
4.1、函数调用:调用函数时,输入函数名就可以直接调用
4.2、参数传递:在函数名后,加入一个空格,然后跟上需要传递的参数
五、debug
1.在脚本开头提供参数 #! /bin/sh -x
2.-v表示在执行过程中打印到标准错误输出
3.-n会读一遍脚本,但不会执行脚本,会会去检查语法错误
--------------------自律是一件不容易的事情,希望你可以坚持下去
边栏推荐
猜你喜欢
BPM是什么意思?BPM的优势及好处有哪些?
反序列化漏洞详解
预定义和自定义
有限合伙人与普通合伙人的区别
Bloom filter bloom
openEuler 社区12位开发者荣获年度开源贡献之星
Chat technology in live broadcast system (8): Architecture practice of IM message module in vivo live broadcast system
“查找附近的商铺”|Geohash+MySQL实现地理位置筛选
股票策略02 | 技术择时+行业因子+市值轮动
商业智能BI业务分析思维:供应链分析 - 什么是牛鞭效应(一)
随机推荐
Convert tensor to image in pytorch
倪光南:openEuler已达国际同类社区水准
Digicert EV证书签名后出现“证书对于请求用法无效”的解决方案
Pytorch - Distributed Model Training
stm32l476芯片介绍(nvidia驱动无法找到兼容的图形硬件)
0-1背包问题的一维数组优化解析
kubelet node pressure eviction
【论文笔记】MiniSeg: An Extremely Minimum Network for Efficient COVID-19 Segmentation
SQL每日一练(牛客新题库)——第3天: 条件查询
SQL每日一练(牛客新题库)——第2天: 条件查询
LeetCode50天刷题计划(Day 8—— 盛最多水的容器(23.00-1.20)
输出0-1背包问题的具体方案 ← 利用二维数组
MySQL中的时区设置
测试如何拓展自己的知识面?
BPM是什么意思?BPM的优势及好处有哪些?
[Binary Tree] Path Sum II
商业智能BI业务分析思维:供应链分析 - 什么是牛鞭效应(一)
MySQL【创建和管理表】
gconf/dconf实战编程(2)利用gconf库读写配置实战以及诸多配套工具演示
MySQL中的行锁