08-shell编程-函数

一、概念

        函数,就是一对命令的集合体,在书写代码时,有时候,一个“任务”有很多行上百行代码,如何区别其他“任务”:

        这时候,我们把代码以函数的方式,区分开来,实际就是把一堆代码,起一个名字;

        目的:规范脚本,让脚本开发模块化,方便后期调用,调试的时候,只需要注释掉函数即可;

二、函数的格式

第一种格式:最完整的方式

function    自定义名称(){

命令

命令

.............

return   n    #函数的返回值

}

第二种格式:精简写法,一般都用这种来写。(去掉function)

自定义名称(){

命令

命令

.............

return   n    #函数的返回值

}

第三种格式:精简写法【去掉()】

function    自定义名称  {

命令

命令

.............

return   n    #函数的返回值

}

三、函数实战

1,简单案例

· 编辑脚本

[root@gong ~]# vim fun.sh

#!/bin/bash

function xinjizhiwa() {
        echo "欢迎来到《心机之蛙》自习室"
        echo "在这里,你可以自学技术知识"
        echo "白嫖,不花钱"
        echo "学的快,学得会"
        echo "最重要:蛙总,长得帅,有才华,赚得多"
}

xinjizhiwa

· 执行脚本

[root@gong ~]# sh fun.sh 
欢迎来到《心机之蛙》自习室
在这里,你可以自学技术知识
白嫖,不花钱
学的快,学得会
最重要:蛙总,长得帅,有才华,赚得多

2,函数传参

· 参数类型介绍

$n       #脚本的第n个参数

$0       #脚本名称

$#       #传参的个数

$@     #所有参数

$*        #所有参数

· 参数脚本案例

检查任意端口是否被监听;

[root@gong ~]# vim tel.sh

#!/bin/bash

#测试本机的80端口是否监听?

xinjizhiwa() {
        ss -tnulp|grep $1 > /dev/null
        if [ $? -eq 0  ]; then
                echo "端口畅通,正在监听 $1 端口"
        else
                echo "端口未被监听,请检查服务故障!~"
        fi
}
xinjizhiwa $1

[root@gong ~]# sh tel.sh 80
端口畅通,正在监听 80 端口
[root@gong ~]# sh tel.sh 88
端口未被监听,请检查服务故障!~
[root@gong ~]# sh tel.sh 22
端口畅通,正在监听 22 端口
[root@gong ~]# sh tel.sh 20
端口未被监听,请检查服务故障!~

至此,函数学习完毕了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心机の之蛙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值