和其他编程语言一样,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
}

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

被折叠的 条评论
为什么被折叠?



