Linux:shell脚本:基础使用(8)《函数局部|全局变量函数传入位置变量return》

基本的函数定义

把一些重复调用的命令写进一个函数里,下次直接调用函数名,这样的既方便修改,又可以让思路清晰

function 函数名(){

当调用这个函数时候执行的命令......

}

这个是一个基础的函数定义,当然你不加function也是可以的


调用函数

当定义完函数,要调用函数才能去使用,当调用一次就执行一次,调用n次就执行n次,调用的位置也是随意的

只用写个函数名称就可以对整个函数体的调用


局部|全局变量

不管你在哪里定义函数只要是变量名前面没加 local 那就是全局变量,可以在定义完变量之后的任意地方去调用

前面如果加了local,那只能在当前函数或者某个区块里去使用,也就是局部变量

前提是必须调用一次函数,才能让全局变量生效,你在哪里调用就能在后面就能去使用在函数里定义的变量了

 

可以看到只输出了text1因为他不是局部变量,只要调用一次函数让他生效就行了

而text2是局部变量,如果在a函数里用,那是可以没有任何问题的,但是出了函数就失效了


函数位置变量

函数也有位置变量,和脚本的位置变量还是有点区别的,我用下面的图片告诉你

可能你在好奇a函数后面这些数是什么啊  ,运行一下你就知道了

看到这些你或许一定明白了,那些数放在函数后面数原来还可以当作位置变量调用,但是为什么后三个什么都没有呢,因为我在执行脚本时候什么都没加呀,那里是脚本的位置变量

现在就有了,下面这个简单的案例值得你去思考一下


 return

当在函数里写到return 会停止,不会再去执行函数后面的命令,并且可以去返回一个值0-256

或者使用return的返回值去判断

这里的 $? 判断是不是 1 或者2 并不是执行错误了,只不过是return的返回值

我们使用$? 判断上一个命令是否正确的时候一般是0因为c语言的main函数返回的一般都是0

而在这里我们想让返回值是多少都行,并不是规定对了就是0    而是一般执行到最后程序最后返回的0   $? 只是去接收上一个命令的返回值的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413436.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Three.js Tri-panner (三面贴图) 材质 两种实现方式

文章目录 介绍自定义shaderNodeMaterial修复:骨骼材质特殊处理修复:使用法相贴图时整体变色 介绍 Tri-panner 在babylonjs中有支持 但是three.js目前的基础材质并不支持 需要自己定义shader 或者使用目前还没有什么完善的文档的 NodeMaterial 下面展示两…

C++ 之LeetCode刷题记录(十三)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可…

为什么使用双token实现无感刷新用户认证?

单token机制 认证机制:对与单token的认证机制在我们项目中仅使用一个Access Token的访问令牌进行用户身份认证和授权的方案处理。 不足之处: 安全性较低(因为只有一个token在客户端和服务器端之间进行传递,一目Acess Token被截获或者被泄露…

卷级实时备份功能特点及应用场景

为满足部分对RTO和RPO指标敏感的用户需求,云祺科技通过结合卷远程复制技术和持续数据保护技术、以及高可用技术的原理,推出了一款基于卷为最小处理单元的实时容灾备份产品,其对于备份源对象具有良好的兼容性,无论是文件、影音、应…

如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(一)

前言 作为一个信息系统项目经理,最要紧的就是要明白什么是因地制宜、因势利导,只有最合适的,没有什么叫对的,什么叫错的;最忌讳的就是完美主义倾向,凡事都要寻找标准答案和最优答案,既耽误了项…

【欢迎您的到来】这里是开源库get_local_info作者的付费专栏

您好, 我是带剑书生,开源库get_local_info的作者,欢迎您的到来,这里是我的付费专栏,会用更简洁的语言,更通俗的话语,来帮助您更好的学习rust,这里不仅仅讲解Rust在某些应用功能实现上…

Java项目:121SSM记账管理系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 记账管理系统基于SpringSpringMVCMybatis开发,系统主要功能如下: 收入项管理 支出项管理 收入方式管理 支出方式管理 添加收入…

企业网盘的价值:为什么企业需要它?

企业网盘因其主打的文件管理协作功能,正好符合信息时代高速发展下企业的需要,能够帮助企业集中管理文件数据,提供便捷的文件协作服务,一跃成为近两年企业服务类产品榜单中的一匹黑马。 企业网盘真的这么好用吗?企业真…

Cleanmymac for mac 4.14.7无弹窗注册版

Cleanmymac for mac是一款先进的、集所有功能于一身的实用系统清理工具,删除系统缓存文件 , 多余的应用程序语言包 , 它能帮助保持您的Mac保持清洁。只需两个简单的点击,就可以删除无用的文件,以节省您宝贵的磁盘空间。 对于很多喜爱摄影朋友…

51-14 Retentive Network,RetNet 多尺度保留机制序列建模论文精读

咱们今天来看的论文叫RetNet,题目是Retentive Network:a successor to transformer for large language models。我们知道BLIP成了一个非常普适的一个工具,你可以拿这个模型去训练VLMo,训练CoCa,训练BEiT-3&#xff0c…

如何实现指定列值排序? ------ MySQL中的field()函数 [让排序更简单]

想自定义排序规则就用field() filed(“列名”,“值1”,“值2”…) 案例:要求 STATUS 列 按 N,Y,E, 排序。 select * from 表名 ORDER BY field(STATUS,N,"Y","E") 效果…

H5小游戏如何提升APP变现收益?

在当前用户规模稳定但变现压力增加的背景下,开发者需要挖掘用户价值,提高营收,这成为开发者关注的重点话题。对于那些“用户用完即走”的APP产品来说,接入H5游戏能够吸引停留,为其带来收入上的增长。 一、什么是H5游戏…