(7) Shell 流程控制-循环
来源:互联网 发布:ubuntu cat命令 编辑:程序博客网 时间:2024/06/01 20:14
Shell 脚本中的循环有三种方式, for, while, until. 其中until 和 while 表示的含义正好相反, while 标识当判断表达式为真时, 则执行循环语句, until 一直循环到判断表达式为真, 即当判断表达式为假时执行.这三种循环可以相互转化的, 所以熟练掌握一种即可. 笔者平时使用for 和 while 居多, 很少使用until.
1. for 循环
1.1 语法
#语法一for 控制变量 in 值1 值2 值3..do程序块儿done#语法二for 控制变量 in (起始值..终止值)do程序块儿done#语法三for 控制变量 `命令`do程序块儿done#语法四for ((初始值; 循环控制; 变量变化))do程序块儿done
1.2 示例程序
#!/bin/bashecho "[语法一] 输出五次系统时间:"for i in 1 2 3 4 5doecho "$i-->$(date)";doneecho "[语法二] 输出五次系统时间:"for i in {1..5}doecho "$i-->$(date)";doneecho -e "\n[语法三] 遍历根目录下所有文件:"for item in `ls -d /s*`doecho "file: $item"doneecho -e "\n[语法四] 求和:"#注意变量赋值的时候,=两边绝对不能有空格sum=0for (( i=1; i<=100; i++ ))dosum=$(( $sum + $i ))doneecho "1+2+3+...+100=$sum"~
输出结果
[admin@localhost shell]$ ./for.sh[语法一] 输出五次系统时间:1-->Wed Jun 21 17:18:34 CST 20172-->Wed Jun 21 17:18:34 CST 20173-->Wed Jun 21 17:18:34 CST 20174-->Wed Jun 21 17:18:34 CST 20175-->Wed Jun 21 17:18:34 CST 2017[语法二] 输出五次系统时间:1-->Wed Jun 21 17:18:34 CST 20172-->Wed Jun 21 17:18:34 CST 20173-->Wed Jun 21 17:18:34 CST 20174-->Wed Jun 21 17:18:34 CST 20175-->Wed Jun 21 17:18:34 CST 2017[语法三] 遍历根目录下所有文件:file: /sbinfile: /selinuxfile: /srvfile: /sys[语法四] 求和:1+2+3+...+100=5050
2. while 循环
while 循环中可以使用break 和 continue进行跳出循环, 和Java 用法相同;
- continue: 跳出本次循环, 执行下一次循环
- break: 跳出整个while 循环
2.1 while 结构
while [ 条件判断式 ]do程序块儿break/continuedone
2.2 示例程序
#!/bin/bash#计算1+2+3+...+100的和i=1sum=0while [ $i -le 100 ]dosum=$(( $sum + $i ))i=$(( $i + 1 ))doneecho "1+2+3+4+...+100=$sum"
输出结果:
[admin@localhost shell]$ ./while.sh1+2+3+4+...+100=5050[admin@localhost shell]$
3. util 循环
util 表示一直循环执行到判断表达式为真时停止, 即当判断表达式为假时执行, 为真时停止执行.用until能实现的循环用while 和for 都能实现, 只是until 或许可读性更好一点儿而已.
3.1 语法结构
until [ 条件判断式 ]do程序块儿done
3.2 示例程序
#!/bin/bashi=1sum=0until [ $i -gt 100 ]dosum=$(( $sum + $i ))i=$(( $i + 1 ))doneecho "1+2+3+4+...+100=$sum"
* 测试输出: *
[admin@localhost shell]$ ./until.sh1+2+3+4+...+100=5050[admin@localhost shell]$
阅读全文
0 0
- (7) Shell 流程控制-循环
- shell流程控制--循环语句
- shell编程-流程控制-for循环
- shell编程-流程控制-while循环与until循环
- python学习7-流程控制-循环控制
- [shell]Shell流程控制
- Oracle 流程控制/循环
- shell 条件控制,循环
- javascript流程控制、循环控制
- Shell控制结构--循环控制
- shell笔记(7):流程控制
- shell流程控制学习
- Shell流程控制语句
- shell流程控制
- 流程控制Linux Shell
- linux shell 流程控制
- shell语法-流程控制
- shell流程控制语句
- Web前端-HeadFirst-笔记-CH10-子孙选择器
- (6) Shell 流程控制-判断分支
- 滚动加载图片(懒加载)实现原理
- 《小白兔到大黑牛》第六篇结合IO流及网络编程下载图片
- Ubuntu显示器分辨率不正常,应该如何解决?
- (7) Shell 流程控制-循环
- android线程间通信之handler
- 《InsideC#》笔记(十) 异常处理
- 15.抽象工厂模式
- LeetCode 1.Two Sum
- PHP字符串递增操作
- Java NIO 系列—Java NIO 与 IO
- HTTP 协议报文解析
- (8) Shell 函数