bash循环
bash脚本-循环02
1.循环执行的条件
2.循环控制语句:continue,break,sleep
2.1continue
while CONDITION1;docmd1...if condition2;thencontinueficmd2...done
#/bin/bash#declare -i sum=0declare -i i=0while [ $i -le 100 ];dolet i++if [ $[$i%2] -eq 1 ];thencontinuefilet sum+=$idoneecho "sum is $sum"
2.2 break
while CONDITION1;doCMD1if CONDITION2;thenbreakfidone
while true;do循环体done
#!/bin/bashdeclare -i sum=0declare -i i=1while true;dolet sum+=$ilet i+=2if [ $i -gt 100 ];thenbreakfidoneecho "sum is $sum"
#!/bin/bashname=zhangpf- until (who | grep "^$name\>" &> /dev/null);do
echo $?sleep 3doneecho "$(date +"%F-%T") $name logged on" >> /tmp/sleep.log
#!/bin/bashname=zhangpfwhile true;doif who | grep "^$name\>" &> /dev/null;thenbreakfisleep 3doneecho "$(date +"%F-%T") $name logged on" >> /tmp/login.log
3.循环体的特殊用法
3.1 while循环的特殊用法(遍历文件的行)
while read VARIABLE;do循环体;done < /path/to/somefile#依次读取/path/to/somefile文件中的每一行,且将基赋值给VARIABLE变量;
#!/bin/bashwhile read line;doid=$(echo $line | cut -d: -f3)name=$(echo $line | cut -d: -f1)shell=$(echo $line | cut -d: -f7)if [ $[$id%2] -eq 1 ];thenecho "$name,$id,$shell."fidone < /etc/passwd
for ((控制变量初始化;条件判断表达式;控制变量的修正语句));do循环体done
#!/bin/bashdeclare -i sum=0for ((i=0;i<=100;i++));dolet sum+=$idoneecho "sum=$sum"
#!/bin/bashfor ((i=1;i<=9;i++));dofor ((j=1;j<=i;j++));doecho -e -n "${i}X${j}=$[${i}*${j}]\t"doneechodone
4.bash语句之case语句
case $VARIABLE inPAT1)分支1;;PAT2)分支2;;。。。。*)分支n;;esac
#!/bin/bash#version 0.0.1#author:zhangpf#date:2016.07#description:this just a test.#prog=$(basename $0)lockfile=/var/lock/subsys/$progcase $1 instart)if [ -f $lockfile ];thenecho "$prog is running yet."elsetouch $lockfile[ $? -eq 0 ] && echo "start $prog finished."fi;;stop)if [ -f $lockfile ];thenrm -f $lockfile[ $? -eq 0 ] && echo "stop $prog is finished."elseecho "$prog is not running."fi;;restart)if [ -f $lockfile ];thenrm -f $lockfiletouch $lockfileecho "restart $prog finished."elsetouch -f $lockfileecho "start $prog finished."fi;;status)if [ -f $lockfile ];thenecho "$prog is running."elseecho "$prog is stopped."fi;;*)echo "Usage:$prog {start|stop|restart|status}"exit 1esac
bash循环的更多相关文章
- bash循环语句
1 )单分支if语句 if 测试条件 :then 如果满足条件就执行这里的代码 f 2)双分支的if语句 if 测试条件:then 如果满足条件就执行这里的代码 else 如果不满足条件就执行这里 ...
- bash循环for/while/until
shell流程控制之一:for循环 for VAR in LIST; do STATEMENT1 ... done 例: ...
- Bash循环分类介绍
方法一: #!/bin/bash ` do #code here echo $i done 方法二:C语言风格 #!/bin/bash ; i<=; i++)) do printf " ...
- bash循环得到日期目录
#!/bin/bash today=$(date "+%Y%m%d") echo 'today is :'${today} single_input="raw_data/ ...
- bash脚本:集群资源争夺战crazy-killer
背景 公司的集群很多人一起用,有时候就难免资源紧张,某次需要用的时候没资源等了半天还是没资源,再等半天还是没资源,于是就写了个脚本泄愤,建议看到的人拷走放在自己公司集群上长期运行 :) 实现 此脚本运 ...
- Bash 实例,第二部分
我们先看一下处理命令行自变量的简单技巧,然后再看看 bash 基本编程结构. 接收自变量 在 介绍性文章 中的样本程序中,我们使用环境变量 "$1" 来引用第一个命令行自变量.类似 ...
- linux shell 报错 Syntax error: Bad for loop variable
在linux下写了一个简单的shell,循环10次. test.sh #!/bin/bash ## ##循环10次 ## ; i<; i++)); do echo Good Morning ,t ...
- shell脚本练习题->1
猜随机数的大小 描述: 写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个0-100的数字)一样时,直接退出,否则让用户一直输入:并且提示用户输入的数字比预设数字大或者小 分析: 1:随机数字 ...
- shell系统检测->
系统状态检测脚本练习 1-> 查看磁盘状态 思路:查看磁盘/当前使用状态,如果使用率超过80%则报警发邮件 1.获取磁盘当前使用的值 df -h|grep /$ 2.从获取到的值中提取出,对应的 ...
随机推荐
- 关于matplotlib绘制直方图偏移的问题
在使用pyplot绘制直方图的时候我发现了一个问题,在给函数.hist()传参的时候,如果传入的组数不是刚刚好(就是说这个组数如果是使用(最大值-最小值)/组距计算出来,而这个数字不是整除得来而是取整 ...
- [opengl]Clion配置opengl
如何在Clion中编写Opengl程序 首先下载 GLAD GLFW 创建Clion工程 在工程中创建文件夹lib.dll.include文件夹 把下载下来的东西放入对应的文件夹 CMakeLists ...
- P3958 奶酪
传送门 思路: 模拟题.用并查集求出所有 “连通块” ,判断是否有 “连通块” 的最顶上和最下方都不小于奶酪的范围. Code: #include<iostream> #include&l ...
- UI组件--element-ui--Table组件自定义合计行
需求: Element-ui的Table组件自带合计行, 但是需求需要在合计行的某些单元格有特别的样式以及事件, 没有研究出怎么在既有合计行上完成此需求, 于是利用其原本的一些属性完成自定义合计行. ...
- java笔记 -- 数组
概念: 数组是一种数据结构, 用来存储同一类型值的集合. 通过一个整型的下标可以访问数组中的每一个值. 声明: int[] a(推荐,将类型int[](整形数组)和变量名分开了) 或者int a[] ...
- php安全开发(1)文件包含漏洞
开发过程总结的漏洞: 一,,如何造成包含漏洞:在通过函数包含文件时,由于没有对包含的文件名进行有效的过滤处理,被攻击者利用从而导致了包含了Web根目录以外的文件进来,就会导致文件信息的泄露甚至注入了恶 ...
- 学习笔记70—Photoshop画齿轮
具体步骤如下: 1)选择多边形工具: 2)设置齿轮个数及颜色相应参数: 3)画出模型: 4)找到上图模型的中心 (借助:ctrl + T),选择椭圆工具,并 长按Shift+Alt, 画出圆: 5) ...
- navicat premium 破解版
下载链接:https://pan.baidu.com/s/1oNwtr2hdUN9F452xkji0aQ
- 文献导读 | Single-Cell Sequencing of iPSC-Dopamine Neurons Reconstructs Disease Progression and Identifies HDAC4 as a Regulator of Parkinson Cell Phenotypes
文献编号:19Mar - 11 2019年04月23日三读,会其精髓: 相信这种方法的话,那么它的精髓是什么,如何整合出这个core gene set. 首先要考虑样本的选择,样本里是否存在明显的分层 ...
- es索引管理工具-curator
elasticsearch-curator 是官方收购的开源社区周边产品,用来管理es的索引和快照. 官方文档:https://www.elastic.co/guide/en/elasticsear ...