第五周学习总结
2019-06-16 22:19
513 查看
第五周学习总结
因为这周我们绝大部分时间是学的shell脚本进阶,所以这周我的博客内容主要是有关shell脚本函数。
一 我对函数的个人理解
编写shell脚本的时候,我们经常会发现在多个地方使用了相同的代码。如果相同的代码只是很小的一段,一般也就是复制一下。但是如果遇到在shell脚本中我们需要重写大块代码段时,我们就不能重新打一遍甚至多遍,非常浪费时间。这时我们就需要bash shell提供的用户自定义函数功能来解决这一问题。
二 创建函数的各种方法
创建函数一共有四种方法,其中的三种是在脚本内部创建,最后一种是在命令创建。
第一种
function name (){ commands; }
第二种
function name { commands; }
第三种
name (){ commands; }
第四种
[root@magedu ~]# function chufa { echo $[ $1 / $2 ]; } [root@magedu ~]# chufa 10 2 5
三 调用函数
当我们需要使用函数时,只需要将函数名打出即可
#!/bin/bash name (){ echo magedu } name
执行这个脚本 就会直接输出 magedu
四 向函数传递函数
1,我们也可以向函数传递一些变量,我们在执行函数的时候,将参数和函数放在同一行即可,参数之间,参数和函数之间都需要有一个空格。
#!/bin/bash name (){ echo $1 echo $2 } name 1 2
直接输出的结果就是
1
2
2,我们还可以向函数传递数组
function sz (){ szz=(`echo "$*"`) echo ${szz[*]} } array=(1 2 3 4 5) sz ${array[*]}
五 函数的递归
斐波那契数列
[root@magedu ~]# vim fibonacci.sh #!/bin/sh fibonacci(){ if [ $1 -eq 0 ];then echo 0 elif [ $1 -le 1 ];then echo 1 else echo $[$(fibonacci $[$1-1])+$(fibonacci $[$1-2])] fi } fibonacci $1
相关文章推荐
- Linux第五周学习总结——扒开系统调用的三层皮(下
- Linux第五周学习总结
- 20135328-信息安全系统设计基础第五周学习总结(程序的机器级表示)
- 20135315-信息安全系统设计基础第五周学习总结
- 20162314 《程序设计与数据结构》第五周学习总结
- 201521123097《Java程序设计》第五周学习总结
- 2017-2018-1 20155310 《信息安全系统设计基础》第五周学习总结
- 2017-2018-1 20155229 《信息安全系统设计基础》第五周学习总结
- 2017-2018-1 20155328 《信息安全系统设计基础》第五周学习总结
- 信息安全系统设计基础第五周学习总结
- 20162321王彪 2017-2018《程序设计与数据结构》第五周学习总结
- 20135202闫佳歆——信息安全系统设计基础第五周学习总结
- 20162313 2016-2017-2《程序设计与数据结构》第五周学习总结
- 201621123047《java程序设计》第五周学习总结
- 第五周学习总结
- 2017-2018-1 20155239 《信息安全系统设计基础》第五周学习总结+mybash的实现
- 2017-2018-1 20155321 《信息安全系统设计基础》第五周学习总结
- 20155334 2017-2018-1《信息安全系统设计基础》第五周学习总结
- 20155220 2016-2017-2《Java程序设计》第五周学习总结
- 2017-2018-1 20155201 《信息安全系统设计基础》第五周学习总结