shell函数的的本质是一段可以重复使用的代码,这段代码提前编写好了,放在了指定的位置,使用时直接调用即可。
name() { commands [ return value ] }
或
function name() { commands [ return value ] }
function
:是shell中的关键字,专门用来定义函数,也可以不用,直接以函数名开始
name
:函数名称
commands
:是函数要执行的代码,也就是一组语句
return value
:表示函数的返回值。其中return是shell的关键字,专门用在函数中返回一个值,这一部分可以写,也可以不写。
declare -f
:显示定义的函数清单
declare -F
显示定义的函数名称
unset -f
:从shell内存中删除函数
exprot -f
:将函数输出给shell
调用函数的可以给它传递参数,也可以不给它传递参数。
如果不传递参数,直接给出函数名即可
name
如果传递参数,多个参数之间用空格隔开
name param1 param2 param3
比如
[root@yaoguang shell]# cat hanshu.sh #!/bin/bash hello() { echo "hello world!,$1" } hello zhangsan hello lisi
执行结果
[root@yaoguang shell]# sh hanshu.sh hello world!,zhangsan hello world!,lisi
<1>载入函数
子shell中如果需要使用父shell中的函数,需要将函数加载至本shell
载入函数是通过 source 命令来调用其他脚本中的函数
加载方式
source FUNCTION
. FUNCTION
注:修改函数之后,必须重新载入shell才能生效