linux shell创建函数吗,Linux shell编程:shell函数创建和使用完全解读

上一篇Linux

shell编程教程请查看: shell输入输出重定向介绍和用法

在本章中我们将详细讨论shell函数,函数使你能够将脚本的整体功能分解为更小的逻辑子部分,然后可以在需要时调用它们来执行各自的任务。

使用函数执行重复的任务是创建代码重用的一种很好的方法,这是现代面向对象编程原则的重要组成部分,shell函数类似于其他编程语言中的子例程、过程和函数。

1、创建函数

要声明一个函数只需使用以下语法:

function_name () {

list of commands

}

函数的名称是function_name,这是从脚本的其他地方调用它的方法。函数名后面必须跟一个圆括号,后面跟一个用大括号括起来的命令列表。

下面的示例展示了函数的使用:

#!/bin/bash

# 定义函数

Hello () {

echo "Hello World"

}

# 调用函数

Hello

2、将参数传递给函数

你可以定义一个在调用函数时接受参数的函数,这些参数将由$1、$2等表示。下面是一个例子,我们传递两个参数AA和BB,然后在函数中捕获并打印这些参数。

#!/bin/bash

# 定义函数

Hello () {

echo "输出参数: $1 $2"

}

# 调用函数并传递参数

Hello AA BB

3、从函数返回值

如果从函数内部执行exit命令,其效果不仅是终止函数的执行,而且终止调用该函数的外壳程序的执行。

如果你只是想终止函数的执行,那么有一种方法可以从定义的函数中出来,根据这种情况可以使用return命令从函数返回任何值,其语法如下所示:

return code

这里的代码可以是你在这里选择的任何内容,但显然你应该选择在整个脚本上下文中有意义或有用的内容,下面的函数返回一个值10。

#!/bin/bash

# 定义函数

Hello () {

echo "输出参数: $1 $2"

return 10

}

# 调用函数

Hello AA BB

# 获取最后一个命令返回的值

ret=$?

echo "返回值为: $ret"

4、嵌套函数

函数的一个更有趣的特性是它们可以调用自己和其他函数,调用自身的函数称为递归函数。下面的例子演示了两个函数的嵌套:

#!/bin/bash

# 从一个函数调用另一个函数

number_one () {

echo "第一个函数..."

number_two

}

number_two () {

echo "第二个番薯..."

}

# 调用第一个函数

number_one

5、来自提示符的函数调用

你可以将常用函数的定义放在.profile文件中,无论何时登录,这些定义都是可用的,你可以在命令提示符中使用它们。

或者可以将定义分组到一个文件中如test.sh,然后通过键入以下内容来执行当前shell中的文件:

$. test.sh

这将导致在test.sh中定义的函数被读取并定义到当前shell如:

$ number_one

第一个函数...

第二个番薯...

$

要从shell中删除函数的定义,请使用带有.f选项的unset命令,此命令还用于将变量的定义移到shell中。

$ unset -f function_name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值