Shell编程从入门到精通——函数

本文深入解析Shell函数的定义、调用及参数传递等核心概念,涵盖函数链接、返回值、全局与局部变量处理,并介绍如何利用函数库文件和递归函数增强Shell脚本的灵活性与复用性。

和其他编程语言一样,Shell语言中也存在函数,通过函数可已将实现某一任务的命令进行封装,可以提高程序的可读性和重用性。

一、函数

1.什么是函数

函数就是将一组功能相对独立的代码集中起来形成一个代码块,这个代码块可以实现某个具体的功能。

2.函数的定义

在Shell中有两种定义函数的方法:

function_name ()
{
    statement1
    statement2
    ......
}

或者

function function_name ()
{
    statement1
    statement2
    ......
}

Shell中函数的命名规则和变量的命名规则基本相同,可以使用任意数字、字母或者下划线,但是只能以字母或者下划线开头。另外用户应该使用具有意义的单词定义函数名,提高代码的可读性。
注意:函数必须在调用之前定义。

#!/usr/bin/env bash

#定义函数
func()
{
   
   
    echo "Hello World!"
}
#调用函数
func

Output:

$ sh test.sh
Hello World!
3.函数的调用

函数被定义后,就可以调用函数了,调用函数的语法如下:

function_name param1 param2 ......

function_name为调用的函数名称,后面是传入的参数。

#!/usr/bin/env bash

#定义函数
func()
{
   
   
    echo "Hello World! You Input Number is $@"
}
#调用函数
func 1 2 3 4

Output:

$ sh test.sh
Hello World! You Input Number is 1 2 3 4

注意:调用函数的时候不需要圆括号。

4.函数的链接

函数链接是指在一个函数中调用另外一个函数的过程。

#!/usr/bin/env bash

#定义函数
func()
{
   
   
    echo "Hello World! You Input Number is $@"
}
main()
{
   
   
    func 1 2 3 4
    echo "I am main function"
}
#调用函数
main

Output:

$ sh test.sh
Hello World! You Input Number is 1 2 3 4
I am main function

注意:调用函数的时候必须满足先定义再调用的顺序。

5.函数的返回值

再Shell中,函数的返回值为return语句来返回某个数值,这个数值的取值范围为0~255。这个return与exit命令返回命令执行的状态码类似,可以通过$?获取函数的返回值。

#!/usr/bin/env bash

#定义函数
length()
{
   
   
    echo "Hello World"
    return 100
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值