循环的特殊用法及函数

while特殊用法

while read 变量名;do

循环体

done<文件路径(将文件中的每一行依次读入循环体,赋值给变量)

 

(())可以实现C语言风格的变量操作

for循环特殊格式

for((控制变量初始化;条件判断表达式;控制变量修正表达式))

do

循环体

done

控制变量初始化仅在循环开始时执行一次,进行条件判断成立后执行循环体,再执行控制变量的修正,然后再条件判断,知道条件不满足为止。

select用法

select 变量名 in列表

do

      循环体命令

done

select是一个无限循环命令,要用break或exit退出循环或脚本。

select主要用于创建菜单并按照顺序输出,格式由PS3变量定义

select可以根据用户的选择执行相应的命令,用户的输入被保存再REPLE变量中

select经常与case变量一起使用

select中 in list可以省略,此时则自动读取位置变量

 

函数:函数是由若干条命令组成的语句块,有利于代码的重复利用和模块化编程

函数与shell程序相似,不同的是函数不是一个单独的进程,不能独立运行,而且shell程序是在子shell中进行,而函数则是在当前shell中运行,所以函数运行会改变当前shell中的变量值

函数的格式

      1、 function 函数名{

函数体

}

2、         function 函数名(){

函数体

}

3、         函数名(){

函数体

}

函数的定义和使用:

 可在交互式环境下定义函数 

可将函数放在脚本文件中作为它的一部分 

可放在只包含函数的单独文件中  

函数的调用:函数只有被调用才会执行; 

调用:给定函数名  函数名出现的地方,会被自动替换为函数代码  

函数的生命周期:被调用时创建,返回时终止

函数有两种返回值,一种是命令的执行结果,另一种是命令执行结果状态码

命令的执行结果可以用printf或echo进行输出,也可以进行调用

函数的退出状态码,默认是函数最后一条命令的执行结果,也可以用return进行自定义

函数必须先定义再进行调用

函数定义在一个单独的文件里可以通过.或source进行调用,但只对当前shell有效,对子shell也无效。

局部变量:在函数体内部定义的局部变量只在当前函数体内部有效,离开函数体自动失效,若脚本中有同名的本地变量或环境变量也优先使用局部变量

局部变量定义方法 locate 变量名=值

函数的递归:通过函数直接或间接的调用自身实现

原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/38542

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-21 20:45
下一篇 2016-08-21 20:45

相关推荐

  • shell编程循环语法作业

    判断/var/目录下所有文件的类型 [root@www sh.log]# cat typefile.sh  #!/bin/bash #author:DYW #显示目录下文件类型 if [ $# -lt 1 ];then echo "Please&nb…

    Linux干货 2016-08-21
  • NoSQL理论基础及安装、基本操作

    30分钟开始 分布式系统理论: CAP: 一致性 可用性 分区容错性     MongoDB: 安装 crud 索引 副本集 分片   NoSQL:非关系型、分布式、不提供ACID功能 技术特点: 1、简单数据模型 2、元数据和应用数据分离(分不同服务器存储) 3、弱一致性   优势: 1、避免不必要的复杂性 2、高吞…

    2016-11-27
  • OpenStack Icehouse私有云实战部署

    前言 相信你一定对“云主机”一词并不陌生吧,通过在Web页面选择所需主机配置,即可快速定制一台属于自己的虚拟主机,并实现登陆操作,大大节省了物理资源。但这一过程是如何实现的呢?本文带来OpenStack Icehouse私有云实战部署。 OpenStack 简介 OpenStack是由网络主机服务商Rackspace和美国宇航局联合推出的一个开源项目,Ope…

    Linux干货 2015-07-29
  • 启动流程排错和自建linux系统

    一、grub的配置文件/boot/grub/grub.conf default=0        ###设置默认启动项0表示第一个 timeout=5        ##设置超时时间,如果超过5s用户…

    Linux干货 2016-09-18
  • Linux磁盘和文件系统管理

    磁盘相关概念 设备类型: 块设备(block):存取单位为块,典型设备磁盘 字符设备(char):存取单位为字符,典型设备为键盘 设备文件: 关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信。 如果存在两个相同型号设备,使用两个设备文件,但可能还会关联到同一个驱动程序 设备文件只有元数据即属性,没有数据内容,属于特殊文件类型 设备号码: 主设备号:…

    Linux干货 2016-06-09
  • Linux文件系统管理

    一、什么是文件系统     我理解的文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。 二、文件系统类型     在linux系统上主要有如下类型的文件系统: &nbsp…

    Linux干货 2016-03-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-21 21:05

    对while、for等循环语句的语法总结的很细致,同时函数部分的用法也很详细,可以在文章中穿插练习中的脚本,并总结好需要注意的地方,这是经验,课后练习需要认真对待。