linux中shift break continue 语句用法

本文章介绍了关于linux中三个常用的命令linux中shift break continue ,这个只要学过编程的朋友都会觉得很好用哦,有需要的同学参考一下。

shift命令声明格式: shift [n]
shift命令用来把脚本的位置参数列表向左移动指定的位数(n),如果shift没有参数,则将参数列表向左移动一位。一旦移位发生,被移出列表的参数就被永远删除了。通常在while循环中,shift用来读取列表中的参数变量。
见如下示例脚本:

代码如下 复制代码

/> set stephen ann sheryl mark #设置4个参数变量。
/> shift #向左移动参数列表一次,将stephen移出参数列表。
/> echo $*
ann sheryl mark
/> shift 2 #继续向左移动两位,将sheryl和ann移出参数列表
/> echo $*
mark
/> shift 2 #继续向左移动两位,由于参数列表中只有mark了,因此本次移动失败。
/> echo $*
mark

/> cat > test4.sh
while (( $# > 0 )) #等同于 [ $# -gt 0 ]
do
echo $*
shift
done
CTRL+D
/> . ./test4.sh a b c d e
a b c d e
b c d e
c d e
d e
e

break命令声明格式:break [n]
和C语言不同的是,Shell中break命令携带一个参数,即可以指定退出循环的层数。如果没有指定,其行为和C语言一样,即退出最内层循环。如果指定循环的层数,则退出指定层数的循环体。如果有3层嵌套循环,其中最外层的为1,中间的为2,最里面的是3。
见如下示例脚本:

代码如下 复制代码
/> cat > test5.sh
while true
do
echo -n "Are you ready to move on?"
read answer
if [[ $answer == [Yy] ]]
then
break
else
echo "Come on."
fi
done
echo "Here we are."
CTRL+D
/> . ./test5.sh
Are you ready to move on? y
Here we are

continue命令声明格式:continue [n]
和C语言不同的是,Shell中continue命令携带一个参数,即可以跳转到指定层级的循环顶部。如果没有指定,其行为和C语言一样,即跳转到最内层循环的顶部。如果指定循环的层数,则跳转到指定层级循环的顶部。如果有3层嵌套循环,其中最外层的为3,中间的为2,最里面的是1。

代码如下 复制代码

/> cat maillist #测试数据文件maillist的内容为以下信息。
stephen
ann
sheryl
mark

/> cat > test6.sh
for name in $(cat maillist)
do
if [[ $name == stephen ]]; then
continue
else
echo "Hello, $name."
fi
done
CTRL+D
/> . ./test6.sh
Hello, ann.
Hello, sheryl.
Hello, mark.

分类:默认分类 时间:2012-02-03 人气:0
本文关键词:
分享到:

相关文章

  • Linux shell脚本基础学习详细介绍(完整版) 2012-08-24

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头、注释、变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提。 1. Linux 脚本编写基础 ◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本

  • linux系统故障排查大全 2014-01-11

    1:linux的引导过程 开机自检bios mbr 引导 grub菜单 kernel 加载内核 init 系统初始化进程 加载各种个脚本 id:3:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:

  • JavaScript面试时候的坑洼沟洄:逗号.冒号与括号 2012-03-25

    看完了javaScript数据类型和表达式与运算符相关知识后以为可以对JavaScript笔试题牛刀小试一把了,没想到有一次次的死在逗号,冒号和括号上,不得已再看看这几个符号吧。 逗号 逗号我们常见的用法就是在连续声明一些变量的时候,可以少些很多var var a=1, b=2, c=3; 方法参数我们使用逗号隔开,对象属性也是逗号隔开 ``` function fbn(name,title){} var person={ name:"Byron", age:"24" }; ``` 然而我们也会

  • asp.net C#的异常处理机制程序代码 2012-06-19

    asp.net C#的异常处理机制详细的利用实例来介绍了关于c#处理机制有效方法,大家可参考一下。 何完美的应用程序和技术高明的程序员,都不可能是绝对不出差错的。与其追求完美无错的代码,还不如将程序中可能预知的异常在发布前进行很好的处理,可能是最有价值的。那么,C#是如何处理异常的呢?首先,我们从最普通的异常说起: 使用try-catch-finally块捕获异常,基本格式如下: 代码如下 复制代码 try { //获取并使用资源,可能出现异常 } catch(DivideByZeroExcep

  • javascript小白学习指南0---2 2012-07-24

    好啦 好啦 ,美女看够了,我们开始继续上一次讲的内容把(上一节的内容) 控制语句: 首先我先给大家总结一下在javascript中一共有 9 vc3Ryb25nPtbWv9jWxtPvvuTL/MPHt9ax8MrHPC9wPgo8cD48L3A+CgogaWYg0+++5GRvLXdoaWxlINPvvuR3aGlsZSDT777kZm9yINPvvuRmb3ItaW4g0+++5GxhYmVsINPvvuRicmVhayC6zSBjb250aW51ZSDT777kd2l0aCDT777kIH

  • 为非程序员准备的简洁Python语言教材 2012-09-05

    为非程序员准备的简洁Python语言教材,欢迎到http://code.google.com/p/hashao/提问。 Python 的中文意思是巨蟒,大蟒蛇。 计算机编程主要概念¶ 计算机语言编程的主要内容就这些:数字,文字,循环,公式,变量 数 字: 1, 2, 3, 5.6, 120, 32.4, 3.1415926, -3, -0.123 文字: 你好,我好,你太牛了,很黄很暴力,这类的文字。一般用双引号(“)或者单引号(‘)括起来。术语叫字符串 ,就是一堆字符,串起来。 循环: 循环(

  • Java编程思想读书笔记-1(第5-7章) 2013-06-22

    第2章 万事万物皆对象 一.所有对象都必须由你建立 1. 存储在哪里 1. 寄存器:我们在程序中无法控制 2. stack:存放基本类型的数据和对象的reference,但对象本身不存放在stack中,而是存放在Heap中 3. Heap:存放用new产生的数据 4. Static storage:存放在对象中用static定义的静态成员 5. Constant storage:存放常量 6. NON-RAM:硬盘等永久存储空间 2. 特例:基本型别 基本类型数据存放在Stack中,存放的是数据

  • 计算机等级考试二级C语言:循环控制语句 2013-10-20

    循环控制结构(又称重复结构)是程序中的另一个基本结构。在实际问题中,常常需要进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算。 C语言提供了while语句、do...while语句和for语句实现循环结构。 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句。 while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立

  • 酷炫的开源中间人攻击(MITM)测试套件?netool.sh 2014-09-05

    netool.sh为安全研究人员提供了中间人攻击(Man-In-The-Middle)测试的工具套件组合,包括内网安全扫描、嗅探及社会工程学测试,界面十分酷炫。 示例 inurlbr.php -q 1,2,10 --dork 'inurl:index.php?id=' --exploit-get ?´0x27 -s report.log --comand-vul 'nmap -Pn -p 1-8080 --script http-enum --open _TARGET_' 操作系统 Linux-

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.109 (s). 10 q(s)