我们一起来学Shell - shell的函数

简介: 我们一起来学Shell - shell的函数

Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可

定义函数

  • 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
function name () {
    commands
    [return value]
}
name () {
    commands
    [return value]
}
  • function 是 Shell 中的关键字,专门用来定义函数;
  • name 是函数名称;
  • commands 是函数要执行的代码,也就是一组语句;
  • return value 表示函数的返回值,其中 return 是 Shell 关键字,专门用在函数中返回一个值;这一部分可以写也可以不写。
  • 由 { } 包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的代码。
  • 函数的优势
  • 方便n次使用,减少代码量,使之方便,整洁。
  • 当需要修改里面的重复代码时,只需要修改一次函数即可实现需求;
  • 将函数写进文件,需要时直接通过文件调用
执行不带参数的函数

直接输入函数名即可,不需要带括号

functionName
  • 执行函数时,函数名称前的关键字function和函数名称后面的()均不需要带上
  • 函数的定义必须要在执行的程序前定义或加载
执行带参数的函数
functionName arg1 arg2
  • Shell中的位置参数($1,$2$#,$?,$@)均可以做为函数的参数进行传递
  • $0比较特殊,仍然是父脚本的名称
  • 此时父脚本的参数会临时被函数的参数所掩盖或隐藏
  • 函数的参数变量是在函数体内里面进行定义
函数的执行总结
  • Shell各种程序的执行顺序为:系统别名->函数->系统命令->可执行文件等
  • 函数执行时,会和调用它的脚本共享变量,也可以为函数设定局部变量及特殊位置参数
  • 在Shell函数里面,return和exit功能类似,区别是
  • return是退出函数
  • return语句会返回一个值给调用函数的程序
  • exit则是退出脚本
  • exit则会返回一个值给执行当前脚本的Shell
  • 如果将函数单独存放为一个文件,在加载时需要使用source.进行加载
  • 在函数内部一般使用local定义局部变量仅在函数体内有效
目录
相关文章
|
1月前
|
Shell
Shell函数
Shell函数
32 1
|
8月前
|
Unix Shell Linux
|
7月前
|
运维 Shell C语言
运维(14)- shell函数
运维(14)- shell函数
35 0
|
6天前
|
Shell 开发者
Shell 函数深入解析与实践
了解 Shell 函数的基础,包括定义、参数传递及返回值。函数定义有多种语法,如 `function func() {...}` 或 `func() {...}`。参数通过 `$1`, `$2` 等访问,`$@` 代表所有参数。`return` 用于返回退出状态码(0-255),非数值数据需用 `echo`。正确获取函数返回值应立即检查 `$?`,例如:`result=$?`。实践中不断探索和学习!
8 1
|
25天前
|
存储 算法 安全
shell 脚本之 函数与数组
shell 脚本之 函数与数组
|
1月前
|
运维 Shell Python
第五章 Shell函数与数组
第五章 Shell函数与数组
|
6月前
|
存储 Shell
shell函数介绍
shell函数介绍
37 2
|
1月前
|
Shell 应用服务中间件 nginx
shell学习(七) 【shell 函数】
shell学习(七) 【shell 函数】
15 1
|
1月前
|
人工智能 机器人 Shell
【shell】shell函数操作(有参、无参、有返回值、无返回值)
【shell】shell函数操作(有参、无参、有返回值、无返回值)