Linux基础——shell函数

文章介绍了Shell函数的基本知识,包括函数的作用如避免代码重复和增强可读性,以及两种定义函数的格式。还讲解了如何在main区域调用函数,查看和删除函数的方法,特别是函数的返回值限制在0-255之间。此外,文章阐述了如何向函数传参,以及函数内局部变量(使用`local`)和全局变量的区别。最后,强调了函数结果取决于变量的作用范围。
摘要由CSDN通过智能技术生成

一、shell函数的基本知识

1,shell函数的作用

1.避免代码重复,减少代码的冗余

2.模块化处理,随调随用,增强代码的可读性和维护性 

2,定义函数的格式

格式一:

function  函数名 {

  命令操作(指令代码)

}

格式二:

函数名  (){

  命令操作(指令代码)

}

 

=================main==============================

定义好函数和编写好内容后,就可以开辟一块main(主方法区),在此范围进行函数的调用

3,查看函数与删除函数

查看函数  :   declare  -F

  删除函数: unset 函数名

4,函数的返回值

 return 返回值  

在函数内用return退出函数并返回函数的值,在函数外用echo $?获取返回值。注:返回值的范围只能在0~255,超过部分需除以256取余。

#!/bin/bash
 
 
function learn {
 
echo "return返回值实验"
 
return 257
 
}
 
##################main######################
learn
echo $?

 echo返回值

在函数内用echo输出值,在函数体外可用 变量=S(函数名) 获取函数的返回值


#!/bin/bash
function learn2 {
echo "echo返回值实验"
read -p "请输入一个数字:" num
echo $[$num+10]

}

result=$(learn2)
echo $result
~

 二、函数的传参与作用范围

1,如何给函数传参

函数体内部的$1 $2 代表的是调用函数时,函数后面跟的位置参数

在函数体内部的$#代表调用函数时,函数后面跟的参数个数

在函数体内部的$@ $*代表调用函数时,函数后面跟的所有参数
函数体外的$1 $2代表的是执行脚本时,脚本后面跟的位置参数

在函数体外时,$#代表脚本后面跟的参数个数

在函数体外时,$@  $*代表脚本后面跟的所有参数


不管在函数体内还是在函数体外,$0都代表脚本本身

 

 2,函数变量的作用范围

函数默认只能脚本内的shell环境有效(使用source执行脚本,也会影响系统的当前shell环境)脚本中的变量默认全局有效(即函数体内外都有效)

在函数体内执行 local 变量 ,可将变量限定在函数体内部使用

 

 结论:最后输出的函数结果依据获取变量的先后顺序来决定的

 用local重新规定函数变量的范围

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值