循环的特殊用法及函数

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

相关推荐

  • 高级文件系统的管理

    一、迁移分区 分区 /dev/sda6 注意同步问题  创建分区,把原先家目录下的文件拷贝到新挂载的文件中 mkfs.ext4 /dev/sda6  mkdir /mnt/home mount /dev/sda6 /mnt/home cp -a /home/*  /mnt/home   init 1 切换单用户模式,把…

    Linux干货 2016-11-27
  • 磁盘管理(SWAP、dd、quota、RAID、LVM)

    2016-08-26: 授课内容: 1、SWAP交换分区的创建 2、dd命令的使用 3、设定文件系统配额 4、设定和管理软RAID设备 5、配置逻辑卷、逻辑卷快照 1、swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存…

    Linux干货 2016-09-01
  • Linux的启动流程

    启动流程  POST: Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、 串并行接口、键盘、 CD-ROM光驱等硬件情况的检测。 ROM: BIOS, Basic Input and Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、 …

    Linux干货 2016-09-13
  • Trap命令简介

     Trap命令简介     一、基本概念  trap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本终止执行,实际上系统发送了SIGINT信号给脚本进程,SIGINT信号的默认处理方式就是退出程序。如果要在Ctrl +C不退出程序,那么就得使用trap命令来指定一下SIGINT的处…

    Linux干货 2015-05-11
  • 用户组管理系列(二):权限设置

    1、权限简介    操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可…

    Linux干货 2016-08-05
  • VMware虚拟机三种连网原理简介

    一、前言         虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作系统软件。虚拟机根据它们运用和与直接机器的相关性分为两大类。系统虚拟机和程序虚拟机,系…

    Linux干货 2015-08-03

评论列表(1条)

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

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