Linux Shell编程(16)——循环
循环就是重复一些命令的代码块,如果条件不满足就退出循环.
for loops for arg in [list]
这是一个基本的循环结构.它与C的for结构有很大不同.
for arg in [list]
do
command(s)...
done
在循环的每次执行中,arg将顺序的存取list中列出的变量.
for arg in "$var1" "$var2" "$var3" ... "$varN"
# 在第1次循环中, arg = $var1
# 在第2次循环中, arg = $var2
# 在第3次循环中, arg = $var3
# ...
# 在第N次循环中, arg = $varN # 在[list]中的参数加上双引号是为了防止单词被不合理地分割.
list中的参数允许包含通配符.
如果do和for想在同一行出现,那么在它们之间需要添加一个";".
for arg in [list] ; do
#!/bin/bash
# 列出所有的行星名称. for planet in Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune Pluto
do
echo $planet # 每个行星被单独打印在一行上.
done echo
for planet in "Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune Pluto"
# 所有的行星名称打印在同一行上.
# 整个'list'只有一个变量,用""封成一个变量.
do
echo $planet
done exit 0
while
这种结构在循环的开头判断条件是否满足,如果条件一直满足,那就一直循环下去(0为退出码[exit status]).与for 循环的区别是,这种结构适合用在循环次数未知的情况下.
while [condition]
do
command...
done
和for循环一样,如果想把do和条件放到同一行上还是需要一个";".
while [condition] ; do
until
这个结构在循环的顶部判断条件,并且如果条件一直为false那就一直循环下去.(与while相反).
until [condition-is-true]
do
command...
done
注意: until循环的判断在循环的顶部,这与某些编程语言是不同的.
与for循环一样,如果想把do和条件放在一行里,就使用";".
until [condition-is-true] ; do
Linux Shell编程(16)——循环的更多相关文章
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- linux shell 编程参考
#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...
- Linux Shell编程与编辑器使用详解
<Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...
- 前端学习 linux —— shell 编程
前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
- 04 shell编程之循环语句
Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l 读取不同的变量值,以逐个执行同一组命令 l For语句结构 for 变量名 ...
- 一文学完Linux Shell编程,比书都好懂
一. Shell 编程 1. 简介 Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务. Shell 既是一种命令语言,又是一种程序设计语言. Shell scr ...
随机推荐
- (转)javascript中的this
JavaScript中的this总是让人迷惑,应该是js众所周知的坑之一. 个人也觉得js中的this不是一个好的设计,由于this晚绑定的特性,它可以是全局对象,当前对象,或者…有人甚至因为坑大而不 ...
- innosetup 安装静默安装msi,指定安装路径的方法
自己看了很久帮助,分号的用法确实不太好用,湿了这个东东估计很多人会用到,发出来给大家参考. Filename: "{app}/msiexec.exe";Parameters: &q ...
- IPX/SPX
转自百度百科 方便阅读 IPX/SPX 目 录 1英文原义 2中文释义 3IPX协议 3.1 说明 3.2 应用 4SPX协议 4.1 说明 4.2 应用 1英文原义 IPX/SPX 2中 ...
- 使用本地光盘安装Microsoft .NET Framework 3.5 for Win8/WinServer2012
如何使用本地源安装Microsoft .NET Framework 3.5 作为SQL Server 2012的 必要组件,校验组件过程有个小BUG,即使没有安装也通过,但会卡在安装环节(enabli ...
- virtualbox共享文件夹无访问权限问题解决方法
virtualbox共享文件夹无访问权限问题解决方法 早就困扰了,这次新装虚拟机又碰到了,记录下来. 这篇文章主要介绍了virtualbox共享文件夹无访问权限问题解决方法,造成这个问题的原因是不跟v ...
- Quartz-2D绘图之路径(Paths)详解
在上篇文章中,我们简单的理解了绘图上下文,今天我们来认识一下Quartz-2D中另一个重要的概念,路径(Paths). 一.理解路径 路径定义了一个或多个形状,或是子路径.一个子路径可由直线,曲线,或 ...
- asp.net mvc Ajax服务器跳转
1.过滤器权限验证 [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowM ...
- gray code 格雷码 递归
格雷码 the n-1 bit code, with 0 prepended to each word, followd by the n-1 bit code in reverse order, w ...
- BitMap(比特位)
所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素.由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省. 腾讯面试的时候,让写了一个BitMap ...
- Python转码问题
在Python中,可以对String调用decode和encode方法来实现转码. 比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').e ...