shell编程之函数

本文详细介绍了Shell编程中的函数定义方法,包括带`function`关键字和不带的方式,以及函数的优势——代码复用和简化。在调用函数时,区分了无参数和带参数的情况,并探讨了函数参数传递、返回值(`return`和`exit`的区别)以及全局变量和局部变量的使用。此外,还讨论了数组变量在函数中的应用和递归函数的概念。
摘要由CSDN通过智能技术生成

shell函数的本质是一段可以重复使用的脚步代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调用即可
1、定义函数
可以带function fun()定义,也可以直接fun()定义,不带任何常数
#方法一
function name {
commands
[return value]
}
#方法二
name() {
commands
[return value]
}
function 是shell中的关键字,专门用来定义函数;
name 是函数名;
commands 是函数要执行的代码,也就是一组语句;
return value 表示函数的返回值,其中return是shell的关键字,专门用在函数中返回一个值;这一部分可以写也可以不写
由{}包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的代码
函数的优势
方便n次使用,减少代码量,使之方便,整洁
当需要修改里面的重复代码时,只需要修改一次函数即可实现需求
将函数写进文件,需要时直接通过文件调用
2、调用函数
2.1、执行不带参数的函数
直接输入函数名即可,不需要带括号
functionName
执行函数时,函数名前的关键字function和函数名后面的()均不需要带
函数的定义必须要在执行的程序前定义或加载
2.2、执行带参数的函数
functionName arg1 arg2
Shell中的位置参数(1/2./$@)均可以做为函数的参数进行传递
$0比较特殊,仍然是父脚本的名称
此时父脚本的参数会临时被函数的参数所掩盖或隐藏
函数的参数变量是在函数体内里面进行定义
2.3、函数的执行总结
Shell各种程序的执行顺序为:系统别名>函数->系统命令>可执行文件等
函数执行时,会和调用它的脚本共享变量,也可以为函数设定局部变量及特殊位置参数
在Shell函数里面,return和exit功能类似,区别是return是退出函数,exit则是退出脚本
return语句会返回一个值给调用函数的程序,exit则会返回一个值给执行当前脚本的Shell
如果将函数单独存放为一个文件,在加载时需要使用source或.进行加载
在函数内部一般使用local定义局部变量,仅在函数体内有效
2.4、调用函数

  vi testfunction. sh
#!/bin/bash
#first function 
function HelloWorld() {
   
echo "Hello world"
}
#second function
Welcome() {
   
echo "Welcome to qfedu"
}
#third function
function HelloShell {
   
echo "Hello Shell"
}
#file functions
HelloWorld              #调用函数
Welcome
HelloShell
  #运行脚本
  bash testfunction.sh

在这里插入图片描述
2.5、从文件中调用函数

  vi filefunction.sh
function Sum() {
   
for((i=1;i<=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值