对于局部变量_浅谈Shell函数中全局变量和局部变量
Shell中函数的两种变量
这里的两种变量是针对于函数来讲的,非脚本。
(1) 全局变量
在函数内部定义的变量
特点:
脚本中主代码可以获取。
注意!!!:
脚本中(函数外部)定义的变量,在本脚本的函数内也可获取。
提示:
脚本中(函数外部)定义的变量,对于此脚本来说是局部变量。
(2) 局部变量
local 变量名
仅在函数内使用,函数外部获取不到。
案例:
#!/bin/bash
#shell中函数的全局变量和局部变量
#auth:odysee
#定义脚本主代码变量
name=odysee
#定义函数
print1()
{
#定义函数中的全局变量,脚本主代码可以获取
sno=20144550
#定义函数中的局部变量,脚本主代码获取不到
local class=2
#获取脚本主代码变量
echo "${name} === name"
}
#调用函数
print1
#获取函数中的全局变量
echo "${sno} === sno"
#获取函数中的局部变量,看是否打印
echo "${class} === class"
执行脚本
[odysee@kingdom shellFiles]$ bash function_1.sh
//函数内获取脚本变量
odysee === name
//函数外部可以获取函数全局变量
20144550 === sno
//这里是获取不到函数内的局部变量
=== class
测试完成
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。
对于局部变量_浅谈Shell函数中全局变量和局部变量相关推荐
- mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别
在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...
- java扫码枪键盘_浅谈在react中如何实现扫码枪输入
触发原理 原理就是监听键盘输入,比如扫一个为6970596130126的69条形码,用扫码枪扫一下会在光标位置依次输出: 6 9 7 0 5 9 6 1 3 0 2 6 但这不是完整的,所以需要写一个 ...
- mysql存储过程set什么意思_浅谈MySQL存储过程中declare和set定义变量的区别
在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...
- python中if和elif的区别_浅谈对python中if、elif、else的误解
今天下午在练习python时用了"if...if...else..."的分支结构,结果运行出来吓我一跳.原来我想当然的认为"if...if...else..." ...
- python中分支语句elif与else的区别_浅谈对python中if、elif、else的误解
今天下午在练习python时用了"if...if...else..."的分支结构,结果运行出来吓我一跳.原来我想当然的认为"if...if...else..." ...
- java 定时任务怎么关闭_浅谈springboot项目中定时任务如何优雅退出
在一个springboot项目中需要跑定时任务处理批数据时,突然有个Kill命令或者一个Ctrl+C的命令,此时我们需要当批数据处理完毕后才允许定时任务关闭,也就是当定时任务结束时才允许Kill命令生 ...
- mysql创建存储过程意义_浅谈一下mySql中创建存储过程
首先说一下为什么要使用存储过程,存储过程是在数据库中预编译的程序代码,其执行效率显然要比从程序端传过去的sql语句要高的多,这样既可以节省网络带宽,又可以加快sql的执行速度,可以很好的提高系统的性能 ...
- this ts 方法获取_浅谈 JavaScript / TS 中的 this
在 JavaScript 中 this 所指向的对象与运行时上下文进行绑定,这就会导致在不同场景下,函数最终运行结果可能不尽相同. 非对象/实例化环境 非对象/实例化环境指的是普通的函数( 没有通过原 ...
- css中如何实现帧布局_浅谈web前端中的表格布局与CSS盒子布局
在web前端设计排版时我们可能会用到表格布局和div+CSS布局,但现在主要使用后者,为何?今天我们来谈一谈两者之间的发展和原理. 话不多说下面来干货 发展过程 上个世纪Web开发人员流行使用表格进行 ...
最新文章
- cf英文名字格式好看的_cf英文名字大全_Michael、
- openStack controller 管理网口TX数据量非常大 网络总是丢包
- Android EventBus 3.0.0 使用总结
- [转]httpclient编码
- Linux 远程桌面 rdesktop 软件
- Linus通过了Linux中避免master/slave等术语的提案
- php判断ipv6是否在范围内,[PHP] IPv6檢查IP是否在某個網段內 mtachcidr6
- 代替oracle dblink,oracle dblink
- ldirectord实现高可用负载集群
- IDEA设置注释配置时获取不到参数的解决办法
- 交叉熵损失函数(Cross Entropy Error Function)与均方差损失函数(Mean Squared Error)
- 去年的今天我们举行了婚礼
- linux安装 soapui_在Linux/Unix上安装开源测试工具SoapUI
- matlab界面语言修改
- 成为管理层必会的技能之一!利用Python打造一款员工管理系统~
- 锂电池管理系统(BMS)-市场现状及未来发展趋势
- TalkingData Ad Tracking开启反作弊模式
- 树莓派pico从零开始的入门(一)
- 太原市消防工程师培训_关于消防工程师的满满干货
- mysql numeric int_关于mysql数据库的数据类型numeric和decimal_MySQL
热门文章
- mysql中加入正则表达式,mysql中的正则表达式搜索
- fsmc同步通信设置_微服务模式-同步与异步
- 添加空值_Python基础 | 0x8空值、布尔类型、数字类型
- linux清空输入框,Linux uniq 命令
- 绝美自然风光风景壁纸,心旷必然神怡
- 背景素材|令人惊讶水彩背景,新尝试
- 简约几何海报背景设计素材,可盐可甜
- speedtest命令行linux,Linux或者Mac下命令行speedtest测试网络速度
- python add_subplot_Python使用add_subplot与subplot画子图操作
- html怎么根据控IE制台找错误,IE调试网页之三:控制台查看错误和状态