Shell之函数
一、什么是函数
函数就是将相同的代码变成定义成一个代码块,然后七个名字,调用时只需要调用名字即可。
1、函数的优势
- 节约代码量
- 代码易读
- 程序功能模块化
2、函数语法
# 简写 函数名(){ # 指令 return 返回值 } # 规范写法 function 函数名(){ # 指令 return 返回值 }
3、函数执行
- 无参数函数调用
直接调用函数的名称即可,无需带小括号。
- 有参数函数调用
函数名 参数1 参数2 参数...
(1)在函数体中位置参数($1、$2...、\$#、\$*、\$?、\$@)都可以是函数的参数
(2)父脚本中的参数则临时的被函数参数隐藏或者覆盖
(3)$0仍然是父脚本的名称
(4)函数执行完毕后,原来的命令行参数会恢复
二、实例
(一)无参数实例
1、普通方式
#!/bin/sh t1(){ echo "Hello World!" } t1 #在脚本中调用函数
上面的脚本中将函数与函数调用写在一起,更优的方式可以将函数与调用分开,可以再写一个调用函数的脚本。
2、优化方式
- 函数脚本(func2脚本)
#!/bin/sh t1(){ echo "Hello World!" }
- 调用函数脚本
#!/bin/sh scripts_path=/project/scripts/function_scripts/func2 [ -x $scripts_path ] && . $scripts_path || exit t1
(二)有参数实例
#!/bin/sh t1(){ echo "$1" } t1 $1
通过下面进行调用即可,将脚本传参变成函数传参:
[root@localhost function_scripts]# sh func3.sh bright bright
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。