0


[Linux][Shell][Shell函数]详细讲解

目录


1.创建函数

  • 语法:关键字 或 C风格functionname{ commands}name(){ commands}

2.执行函数

  • 执行Shell函数,直接写函数名即可,无需添加其他内容
  • 函数必须先定义,再执行,Shell脚本自上而下加载
  • 函数体内定义的变量,称之为局部变量- 函数内,使⽤local关键字,定义局部变量
  • 函数体内需要添加return语句,作⽤是退出函数,且赋予返回值给调⽤该函数的程序
  • return语句和exit不同 - return:结束函数的执⾏,返回⼀个(退出值、返回值)- exit:结束Shell环境,返回⼀个(退出值、返回值)给当前的shell
  • 函数如果单独写⼊⼀个⽂件⾥,需要⽤source读取- 本质:读取到当前环境变量中

3.给函数传入参数

  • 传参和调用形势类似于在命令行中给一个脚本传入参数SnowK(){echo"传入的参数为$1$2$3, 共 $# 个"}SnowK I am DieSnowK
  • 示例:URL检测脚本#!/bin/bashUsage(){echo"Usage: $0 url"exit1}# 程序开发的习惯,设置一个入口函数,对需要执行的函数统一管理CheckUrl(){wget--spider-q-o /dev/null --tries=1-T5$1if[$?-eq0]thenecho"$1 is Yes"elseecho"$1 is No"fi}main(){if[$#-ne1]then Usage fi CheckUrl $1}# $* -> 将所有传入进来的参数,当作一个整体,是常见用法main $*

4.返回值

  • 函数结束,有状态码 - 通过$?获得- 用return可以制定特殊的退出状态码
  • 这种方式有一个- 函数结束后应⽴即取返回值 - 否则会被覆盖丢失- 退出状态码在0~255之间

5.函数中处理变量

1.全局变量

  • 默认情况下,脚本⾥定义的任何变量都是全局变量,只要不是写在函数体内

2.局部变量

  • ⽆需在函数中使⽤全局变量,函数内部使⽤的任何变量都可以被声明为局部变量,为了实现这⼀点,只需要加上local关键字即可func(){localtemp=$[$value + 5]result=$[$temp * 2]}
标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/qq_37281656/article/details/140341468
版权归原作者 DieSnowK 所有, 如有侵权,请联系我们删除。

“[Linux][Shell][Shell函数]详细讲解”的评论:

还没有评论