当前位置: 首页 > news >正文

高新区免费网站建设商丘网格通

高新区免费网站建设,商丘网格通,seo专业培训班,王业美三个字组成的子函数的作用就是将程序里多次被调用的相同代码组合起来#xff08;函数体#xff09;#xff0c;并为其取一个名字#xff0c;即函数名。其他所有想重复调用这部分代码的地方都只需要调用这个名字就可以了。当需要修改这部分代码时候#xff0c;只需要修改函数体内的这部分… 函数的作用就是将程序里多次被调用的相同代码组合起来函数体并为其取一个名字即函数名。其他所有想重复调用这部分代码的地方都只需要调用这个名字就可以了。当需要修改这部分代码时候只需要修改函数体内的这部分代码即可实现对所有调用的修改也可以把函数独立地写在文件里当需要调用函数时再加载进来使用。 好处 1把相同的程序段定义成函数可以减少程序代码量 2增加程序的可读性易读性 3呈现程序的功能模块化使得程序具备通用性可移植性。 语法 function 函数名() {指令...return n }函数名() {指令...return n } 执行 1执行不带参数的函数直接输入函数名即可。 2执行带参数的函数 函数名  参数1  参数2 3函数的执行必须要在执行的程序前面定义和加载。 4Shell执行系统中各种程序的执行顺序系统别名-》函数-》系统命令-》可执行文件。 5函数执行的时候会和调用它的脚本公用变量也可以为函数设定局部变量及特殊位置参数。 6函数体中的return语句会返回一个退出值返回值给调用函数的当前程序。 7如果将函数存放在一个独立的文件中被脚本加载使用的时候需要使用source或者点号来加载。 8在函数内一般使用local定义局部变量这些变量离开函数后就会消失。 9Shell的位置参数($1/$2/$#/$*/$?/$)都可以作为函数的参数来使用。 10此时的父脚本的参数临时地被函数参数所掩盖或者隐藏。 11$0 比较特殊他仍然是父脚本的名称。 12当函数执行完成时原来的命令行脚本的参数即可恢复。 13函数的参数变量是在函数体里面定义的。 示例1 [rootvm1 scripts]# cat function01.sh #!/bin/bashchang(){echo I am chang. }chun() {echo I am chun. }chang # 调用chang chun #调用chun [rootvm1 scripts]# sh function01.sh I am chang. I am chun. 示例2 分离函数体和执行函数的脚本文件更规范的方法 首先是建立函数体脚本默认不会执行函数。 使用cat命令追加多行脚本以将函数代码追加到系统的函数文件中即/etc/init.d/functions。 注意的是要将定义的函数放在return 0的上面。如果放在return 0语句的下面将无法调用到oldboy函数。在/etc/init.d/functions系统函数文件中添加的函数将不起作用。 然后在编辑脚本 [rootvm1 scripts]# cat function02.sh #!/bin/bash # [ -f /etc/init.d/functions ] . /etc/init.d/functions || exit 1oldboy [rootvm1 scripts]# sh function02.sh I am oldboy程序和函数分离的常见方法 [rootvm1 scripts]# cat fun02.sh #!/bin/bash# 在函数文件中只定义函数 # 可以在该函数文件中定义更多的函数 fun_01(){echo I am oldboy linux. }[rootvm1 scripts]# cat exec01.sh #!/bin/bash # [ -f fun02.sh ] . ./fun02.sh || exit 1# 执行函数 fun_01[rootvm1 scripts]# sh exec01.sh I am oldboy linux.说明 1在函数文件中可以定义多个函数。 2我们可以创建单独的函数文件然后加载这个函数文件而不需要使用系统的函数文件/etc/init.d/functions。 3这是一个比较规范的方法。 示例3带参数的shell函数。 [rootvm1 scripts]# cat fun02.sh #!/bin/bash# 在函数文件中只定义函数 # 可以在该函数文件中定义更多的函数 fun_01(){echo I am oldboy linux. }# 带参数的函数 fun_02(){echo I am $1 }[rootvm1 scripts]# cat exec01.sh #!/bin/bash # [ -f fun02.sh ] . ./fun02.sh || exit 1# 执行带参数的函数这个$1本身是脚本的位置参数但是$1占据的位置为函数的参数位置现在它们重合了。 fun_02 $1# 将changchunhua作为参数 [rootvm1 scripts]# sh exec01.sh changchunhua I am changchunhua说明 此时的父脚本的参数临时地被函数参数所掩盖或者隐藏。 案例利用shell函数开发企业级URL检测脚本 [rootvm1 scripts]# cat url_check.sh #!/bin/bashif [ $# -ne 1 ]thenecho USAGE: $0 URLexit 1 fiwget --spider --timeout 10 --tries2 $1 /dev/nullif [ $? -eq 0 ]thenecho $1 is yes. elseecho $1 is no. fi测试结果 [rootvm1 scripts]# sh url_check.sh www.baidu.com www.baidu.com is yes.[rootvm1 scripts]# sh url_check.sh jd.com jd.com is yes. 然后我们再进行一次升级 将检测的功能写成函数并将函数传参转换成脚本命令行传参判断任意指定的url是否存在异常。 [rootvm1 scripts]# cat url_check2.sh #!/bin/bash# 帮助函数 function usage(){echo USAGE: $0 urlexit 1 }# 检测URL函数 function check_url(){wget --spider --timeout 10 --tries2 $1 /dev/nullif [ $? -eq 0 ]thenecho $1 is yes.elseecho $1 is no.fi }# 主函数 function main(){if [ $# -ne 1 ] # 如果传入的是多个参数则打印帮助函数提示用户。thenusageficheck_url $1 }main $* # 这里的$*就是把命令行接受的所有参数作为函数参数传给函数的内部是一种常用的手法学习了函数以后尽量将脚本功能模块化每个模块实现一个功能并且让脚本可以通用。 工作中使用的一些Shell脚本有时间也是需要进行升级修改将脚本功能模块化。 然后我们使用更加专业的显示输出 [rootvm1 scripts]# cat url_check3.sh #!/bin/bash[ -f /etc/init.d/functions ] . /etc/init.d/functions || exit 1# 帮助函数 function usage(){echo USAGE: $0 urlexit 1 }# 检测URL函数 function check_url(){wget --spider --timeout 10 --tries2 $1 /dev/nullif [ $? -eq 0 ]then# echo $1 is yes.action $1 is yes. /bin/trueelse# echo $1 is no.action $1 is no. /bin/truefi }function main(){if [ $# -ne 1 ]thenusageficheck_url $1 }main $* # 这里的$*就是把命令行接受的所有参数作为函数参数传给函数的内部是一种常用的手法执行结果 [rootvm1 scripts]# sh url_check3.sh jd.com jd.com is yes. [ OK ]
http://www.sadfv.cn/news/52791/

相关文章:

  • html5网站app开发扁平化设计风格的网站
  • 网站管理的含义网站建设评判标准
  • 企业网站设计的特点wordpress 未找到
  • 张家港高端网站建设公司江苏省住房城乡建设部网站
  • 专业网站建设公司兴田德润优惠吗wordpress版权怎
  • 什么叫网站名称济南做网站优化的公司
  • 专业建设网站的公司网页前端设计师培训学校
  • 手机网站打不开是什么原因造成的大庆做流产油城女子网站
  • 长城宽带做网站购买一个网站需要多少钱?
  • 网站链接做投票学校网站建设责任书
  • 合肥企业建网站制作一个学校门户网站
  • 各地网站备案网站连接跳转怎么做
  • 网站开发介绍人拿多少钱宁波专业公司网页设计
  • 高校网络网站建设意义及措施上海招聘网站建设
  • 网站建设跟网站结构php语言的网站建设
  • 怎样理解网站建设与开发这门课鄂州门户网
  • 网站模板素材门户网站建设的意义
  • 东莞网站优化seo西安网站维护公司
  • 公司网站建设制作难么网站建设是什么语言
  • 团购网站平台建设用dw软件做网站栅格系统
  • 网站开发技术视频教程郑州最新消息今天
  • 品牌管理公司网站建设哪些网站有友情链接
  • 网站建设模拟网络工程有限公司
  • php asp网站开发教程信阳百度推广公司电话
  • c#网站开发+pdf3d效果图怎么制作用什么软件
  • 邢台无忧网站建设公司网站集约化建设汇报
  • 网站建设大概好多钱网页版word在线编辑
  • 网站那种推广链接怎么做app网站多少钱
  • 做的网站怎样评估价值h5生成小程序
  • 凡客网登录太原网站快速排名优化