Bash编程007——函数(一)

Bash编程007——函数(一)

使用函数可以对程序进行更好滴组织,将一些相对独立的代码变成函数,可以提高程序的可读性和重用性,避免重复编写大量相同的代码。

7.1 函数

7.1.1 函数定义

简单来说,函数就是将一组功能相对独立的代码集中起来,形成一个代码块,这个代码块可以完成某个具体地任务。本质上来说,函数是一个函数名到某个代码块的映射。当定义了函数之后,就可以通过函数名来调用其所对应的代码块。

对于shell函数而言,函数与shell脚本并没有明显的区别,shell脚本中可以使用的命令和语句,都可以在函数中使用。但是,在执行时,函数和脚本还是有着本质上的区别。shell脚本在执行时,会创建一个新的shell进程来解释执行脚本中的代码,脚本执行完成,shell进程就会结束;而函数在执行时,系统并不会为其单独创建一个进程,而是在调用者的进程中直接解释执行函数中的代码。

7.1.2 基本语法

函数基本语法:

function name (){
    commands;
}
// 或者可以省略function
name () {
    commands;
}

函数名的命名规则和变量的命名规则相同,由数字、字母或下划线组成且以字母或下划线开头的字符串。

示例:

function Hello(){
    echo "Hello world"
}
# 执行
Hello
# 结果:Hello world

7.1.3 传递参数

当某个函数定义之后,用户就可以通过函数名来调用该函数。调用函数的基本语法如下:

func argv1 argv2 ...    

其中func表示函数名,argv1、argv2等表示传递给函数的参数

在函数中可以通过一些特殊的变量来访问传递过来的参数:

1表示第一个参数等

S#,表示传递参数的总个数

$*,表示以"argv1 argv2 ..."的形式返回所有参数的值

S@,表示以"argv1" "argv2" ...的形式返回所有参数的值

示例:

function hi() {
    echo $#
    echo $*
}
# 执行:hi 1 2 3 4 5 6
# 结果:
6
1 2 3 4 5 6

7.1.4 函数返回值

在shell中,处理函数的返回值可以分为以下几种情况来讨论。

使用return语句返回某个数值,但是只能返回0~255之前的整数值。

将返回的数据输出到标准输出,比如使用echo命令。

示例:

function getStr() {
    echo "hello"
}
# 使用:
str=$(getStr)
echo $str
# 结果:hello
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值