当前位置:网站首页>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会读一遍脚本,但不会执行脚本,会会去检查语法错误
--------------------自律是一件不容易的事情,希望你可以坚持下去
边栏推荐
猜你喜欢
随机推荐
LeetCode50天刷题计划(Day 11—— 最接近的三数之和(8.40-10.00)
【repo】SyntaxError: invalid syntax
Range query based on date in MySQL
pytorch测试的时候为何要加上model.eval()?
手机扫码登陆原理(扫码充电线原理)
leetcode:80. 删除有序数组中的重复项 II
SQL每日一练(牛客新题库)——第2天: 条件查询
MySQL【创建和管理表】
开放原子全球开源峰会原圆满结束,openEuler模式得到参会者高度认可
兆骑科创平台招才引智,海内外高层次人才引进平台
Pytorch - Distributed Model Training
如何使用 Mashup 技术在 SAP Cloud for Customer 页面嵌入自定义 UI
php gui 框架 demo
有谁知道pg12.5版本的数据库驱动在哪里能找到么?
stm32l476芯片介绍(nvidia驱动无法找到兼容的图形硬件)
强网杯2022 pwn 赛题解析——yakagame
Flink - SQL can separate a certain parallelism of operator node configuration?
测试如何拓展自己的知识面?
大佬们,datax同步数据,同步过程中要新增一个uuid,请问column 怎么写pgsql,uu
Grid布局 容器属性(一) `grid-template`系列属性









