function (功能) 功能函数
完成特定功能的代码片段
函数必须先定义才能使用
优点:避免重复的代码
定义函数---怎么写函数脚本,如何定义
调用函数--- 怎么使用函数,本地调用,2。通过其他脚本调用 (必须先定义再调用)
取消函数---- unset func_name
函数传参----和脚本传参类似
命名空间:在shell语言中函数的命名空间是函数内和函数外定义变量是一样的,函数内外不能赋值同样名字的变量
#变量:如果在同一个命名空间可以用,如果不再同一个命名空间就不能用
#函数变量使用的范围:默认,函数里的变量会在函数外面生效
#函数变量如果不让在其他空间用使用:local 分开
local 变量名称 #变量只在函数内生效。属于局部变量
# vim var.sh
#!/usr/bin/bash
a=10
var() {
echo $a
#local a
a=20
echo $a
}
var #调用函数
echo $a
#return: 返回结果并退出函数
返回值:return value:#value不能超过0-255,是函数里面函数最后一条执行命令的返回值,默认返回值是由这条命令执行结果确定的.
[root@localhost ~]# vim return.sh
#!/usr/bin/bash
func(){
echo "hello"
return 250 #函数返回值
}
func
#echo $? #返回的是函数的返回值
if [ $? -eq 250 ];then
echo "成功"
else
echo "失败"
fi
exit:返回结果并退出程序
shell 编程-函数
原创wx65353155bf449 ©著作权
©著作权归作者所有:来自51CTO博客作者wx65353155bf449的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:函数调用
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Shell脚本编程——函数(function)
做为一个经常写脚本的运维人员来讲,都能发现一个问题,很多时候我们在不同的脚本里面重复的写着同一段代码。比如我们要去使用正则表达式去判断IP地址的合法性问题,如果每次都去写一遍这个匹配IP的表达式,整个表达式写下来老长老长的,0-9的数字组合看的眼都花了,是不是很累了。当然有人会说了,保存一份正确的代码之后,需要用这段代码的时候,直接粘贴到正在编写的脚本里面不就行了嘛!是没错,但这样是不是很多脚本里面都重复存放着同一段代码,额外增加了脚本的代码量。有没有一个两全其美的办法,让我们的脚本代码量又小,又省去了每次重复的粘贴同一段代码的操作,同时还能完美的调用这段代码了。shell函数的出现为我们完美的解决了这一设想。
函数和shell程序的区别 定义函数的语法格式 函数的定义方式 函数的调用方式 定义标准递归函数