- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
****************************************************************************************10.6.1循环控制语句2continue命令:格式为:continue或continue[n]continue是shell的内部命令。当执行continue命令时,控制流直接转到本循环体中第一条命令上。当执行continuen命令时,则跳过最内层的n次循环体的执行,即开始第n个循环的下一个循环过程。*10.6.2变量作用域1.局部变量局部变量只在用户当前的shell生命期中有意义。如果在shell中启动另一个进程或退出,局部变量的值将无效。当注册Shell在接受到用户输入的命令(非内部命令)后,通常会派生出一个子Shell,由此子Shell负责解释执行该命令。子Shell有自己的运行环境和变量,这些变量仅在子Shell范围内的特定环境下才能使用。可以使用set命令查看当前shell的所有局部变量。shell的运行环境可以改变,但子shell不能存取由父shell设置的局部变量,也不能改变父shell的变量值。例如:$catvar_test1echo:$x:$x=100$var_test1::上例说明在父shell中定义的局部变量,在子shell中无效。*1.局部变量下面再举一例说明局部变量的作用仅限于定义它的shell:$catvar_test2x=60echo:$x:$x=10$var_test2:60:$echo$x10*2.全局变量全局变量是一种特殊的变量,可以被任何运行的子Shell来引用。全局变量通过export命令来定义,格式如下:export变量列表一旦变量被定义为全局变量,则对于以后的所有子Shell来说这些都是全局变量。子Shell中无法改变全局变量的值;若在子Shell中改变全局变量的值,实际是对全局变量在子shell中的副本进行更改,不影响父shell中全局变量的值;子Shell中局部变量的使用优先于全局变量。*2.全局变量例$exportg_var$g_var=“GLOBAL”$cattest_varexportg_varl_varg_var=“sub_shell:g_var”l_var=“sub_shell:l_var”echo:$g_var$l_var$test_varsub_shell:g_varsub_shell:l_var$echo$g_var:$l_var:GLOBAL::$*2.全局变量可以将局部变量和全局变量作用域总结如下:(1)任何没有用export命令定义过的变量是局部变量,子Shell不能存取父Shell的局部变量;(2)子Shell中可以存取和修改父Shell的全局变量,但这种修改对于父Shell全局变量没有任何影响;(3)在子Shell中用export命令定义的全局变量和对此变量的修改对父Shell变量没有影响;(4)全局变量保持它的全局性,不仅能直接传递给它的子Shell,而且子Shell还能将它传递给子Shell的子Shell;(5)在对变量赋值之前和之后的任何时候可以将该变量转换成全局变量。*10.7函数与其它编程语言类似,shell也可以定义函数。函数是完成特定功能的一个shell程序。在编写shell程序时,函数有助于消除重复代码。函数定义的格式为:函数名(){命令表}或者function函数名(){命令表}*10.7函数Shell函数和shell程序比较相似,它们的区别在于:Shell程序在子Shell中运行,Shell函数在当前Shell中运行。因此在当前Shell中可以看到Shell函数对变量的修改。函数的定义和使用:可以将函数放在脚本文件中作为它的一部分,可以放在只包含函数的单独文件中,可以在交互式环境下定义函数。*10.7函数——交互式环境下定义函数例如:$dir(){ls?-l}$定义该函数后,若在$后面键入dir,其显示结果同ls?-l的作用相同。$dir该dir函数将一直保留到用户从系统退出,或执行了如下所示的unset命令:$unset?dir?*10.7函数——在脚本中定义函数函
您可能关注的文档
- 《Linux原理及应用》第11章 Linux系统管理-教学课件(非AI生成).ppt
- 《Linux原理及应用》第13章 Linux的图形环境-教学课件(非AI生成).ppt
- 《Linux原理及应用》第14章 Linux编程-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第1章 算法分析的基本概念-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第4章 堆和不相交集数据结构(英文)-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第4章 堆和不相交集数据结构-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第5章 归纳法(英文)-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第6章 分治(英文)-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第6章 分治-教学课件(非AI生成).ppt
- 《算法设计技巧与分析》第7章 动态规划-教学课件(非AI生成).ppt
最近下载
- 型钢悬挑卸料平台监理实施细则.doc VIP
- 2025版最新建设工程强制性条文汇编.pdf VIP
- (高清版)DG∕TJ 08-2105-2022 行道树栽植与养护技术标准.pdf VIP
- 无人机组装与调试:多旋翼无人机飞控系统组装调试PPT教学课件.pptx VIP
- 检验检测机构资质认定质量手册和程序文件(质量记录表格汇编).doc VIP
- 建筑机电安装培训.pptx VIP
- 初三物理课件第十六章 3节 电阻课件初三物理课件第十六章 第3节 电阻课件.ppt VIP
- 低空经济产业园招商引资与项目管理.docx VIP
- 燃气经营安全重大隐患判定标准课件.pptx VIP
- 2025年学校基孔肯雅热防控工作预案(精选模板).docx
文档评论(0)