bash学习记录(十五)bash中的函数定义与使用

bash中的函数

其实bash函数和bash脚本时一样的,函数的使用如同使用一段bash脚本块一样。但是定义为bash函数执行更快。

函数定义与调用

与很多脚本语言一样,使用 function 作为关键词来声明函数。下面来使用一段例子代码来说明函数的定义的格式。乍一看是不是和js有点像呢。。

1
2
3
4
5
function hello(){
echo "使用函数会输出这句话"
return 1
}
hello #使用函数

函数的参数传递

与编写bash相似,参数使用 $+位置的形式获取 如$1获取紧跟在调用函数后的第一个参数的值。

1
2
3
4
5
6
7
function hello(){
echo "使用函数会输出这句话"
echo "输出第一个参数 $1"
return 1
}
hello world
# 输出结果 ‘ 输出第一个参数 world ’

函数的返回值

使用return来返回特定值 如上面的函数中使用到了 return 1 ,在return后发生的语句都不能被执行。并且return的的值只能在1~256之间的数。使用$?来获取返回到值。

函数的嵌套

如同在Java js中使用函数类似,bash中的函数也允许使用嵌套结构。但是需要在外层函数调用内容函数。这是当然的了,因为在内部声明函数,却没有调用,这当然时不起作用的了。

1
2
3
4
5
6
7
8
9
10
11
function x1(){
echo "在函数x1中!"
function x2(){
echo "在函数x2中!"
}
x2 # 这里需要调用内层函数
}
x1
#结果:
#在函数x1中!
#在函数x2中!
-------------本文结束感谢您的阅读-------------

本文标题:bash学习记录(十五)bash中的函数定义与使用

文章作者:NanYin

发布时间:2018年07月03日 - 15:07

最后更新:2019年08月12日 - 13:08

原始链接:https://nanyiniu.github.io/2018/07/03/2018-07-03-bash_14_bash%E4%B8%AD%E7%9A%84%E5%87%BD%E6%95%B0/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。