函数

返回主页

一、什么是函数?

  • shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数
  • 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能

二、如何定义函数?

# 方式1
函数名()
{
  函数体(一堆命令的集合,来实现某个功能)   
}

# 方式2
function 函数名()
{
   函数体(一堆命令的集合,来实现某个功能)
}

三、如何调用函数?

1、命令行调用

# 1.创建了一个“fun.sh”的脚本,脚本内容如下
[root@converts shells]# cat fun.sh
#!/bin/env bash
hello(){
    echo '这是一个hello方法'
}

getName(){
    echo '我的名字叫胖太乙'
}

# 2. 首选需要 调用一下脚本
[root@converts shells]# source fun.sh

# 3. 然后调用对应的方法
[root@converts shells]# hello
这是一个hello方法
[root@converts shells]# getName
我的名字叫胖太乙
[root@converts shells]#

2、命令行调用

在上面的“变量的分类”中讲到,$HOME/.bashrc 文件会在当前用户登录时读取。所以我们只需要将函数定义到‘.bashrc’ 中就可以全局访问。

# 1.在环境变量中定义了一个 fun 函数
[root@converts shells]# vim ~/.bashrc

# .bashrc
# User specific aliases and functions

fun(){
        echo '这是在用户环境变量中的方法!'
}

# 2. 由于我已经是登录的状态, 所以需要重新登录
[root@converts shells]# sudo su

# 3. 调用
[root@converts shells]# fun
这是在用户环境变量中的方法!
[root@converts shells]#

四、函数传参

函数传参只需要在调用函数的时候, 将参数带上即可,函数内部通过 $1 $2 $3 $4..... 来获取参数

案例:

# 函数获取参数的案例
[root@converts shells]# cat fun.sh
#!/bin/env bash
printInfo(){
    echo '我的名字叫' $1
    echo '年龄:' $2
    echo '家庭住址:'$3
}
[root@converts shells]# source fun.sh
[root@converts shells]# printInfo 胖太乙 1000 乾元山金光洞
我的名字叫 胖太乙
年龄: 1000
家庭住址:乾元山金光洞
[root@converts shells]#

五、return 返回值

  1. return可以结束一个函数。类似于循环控制语句break(结束当前循环,执行循环体后面的代码)。
  2. return默认返回函数中最后一个命令状态值,也可以给定参数值,范围是0-256之间。
  3. 如果没有return命令,函数将返回最后一个指令的退出状态值。
展开/折叠菜单
59 预览数量 2024-03-26 10:24:52 发布 时间
目录
赞数量
评论数量
返回顶部
暂无评论

暂无评论