Shell for、while循环
先顺带说下 if
1. if 条件;then else fi
如果else分支没有执行语句,可以不写。
2. if 条件;then elif 条件;then else fi
#!/bin/bash ## 定义变量,并赋值
a=
b= ## 判断a,b变量的关系
if [ $a -eq $b ];then
echo "a 等于 b"
elif [ $a -gt $b ];then
echo "a 大于 b"
else
echo "a 小于 b"
fi
结果:
for 循环:
语法1:
for 变量 in 列表/数组 ##已空格 分隔符
do
command
done
语法2:
for ((变量;条件;条件))
do
command
done
#!/bin/bash ## for 语法1,读取每个单词 ,注意不能使用引号(加上引号,就会默认是一个单词)
for str in This is kimbo speaking
do
echo "The str is : ${str}"
done ## for 语法2,注意使用两个小括号
for (( i=1; i<=3; i++ ))
do
echo "The i is: $i"
done ## for 语法3
for j in `seq 1 3`
do
echo "The j is: $j"
done ## for 语法4
for k in {1..3}
do
echo "The k is: $k"
done ## for 循环数组
##定义数组
db_arr=(0 1 2 3 4 5 6 7 8 9 a b c d e f)
for var_db in ${db_arr[@]} ##循环取数据内容,默认从0开始
do
echo "var_db is ${var_db}" ##打印变量
done
for 循环
结果:
while 循环:
语法1:
while [条件]
do
command
done
语法2:
while (())
do
command
done
#!/bin/bash ## 定义变量
a=
b= ## while 语法1:
while [ $a -le $b ]
do
echo "语法1:The a is :$a"
a=`expr $a + `
done ## while 语法2:
while (( $a >= $b ))
do
echo "语法2:The a is :$a"
a=`expr $a - `
done
循环控制语句:
break : 不执行当前循环体内break下面的语句,从当前循环退出
continue : 不执行当前循环体内continue下面的语句,从循环开头 继续执行
###########while 逐行读取文件内容
方法1:
cat ${file_name} | while read line
do
echo $line
done
方法2: 此方法可以获取循环内的变量,方法1不行。
while read line
do
echo $line
done <${file_name}
小例子:用于日常补数据,非常实用
#!/bin/bash ## 参数校验
if [ $# -ne ];then
echo "Please Enter two parameter,try again."
echo "example: 20170201 20170207"
exit
fi ## 定义目录
dir=/home/test ## 定义变量,开始日期、结束日期
s_date=`date -d "$1" +%Y%m%d`
e_date=`date -d "$2" +%Y%m%d` ## 打印变量
echo "循环开始日期 is ${s_date}--->"
echo "循环结束日期 is ${e_date}--->" ## while 循环
while (( ${s_date} <= ${e_date} ))
do echo "当前运行日期:${s_date}"
## 运行补数脚本
##sh ${dir}/kimbo_test.sh ${s_date} >>$dir/run.log ## 运行日期加1天
s_date=`date -d "+1 day ${s_date}" +%Y%m%d` done
结果:
Shell for、while循环的更多相关文章
- shell中的循环
shell中的循环 for循环 类似于C语言的步长控制 例如: ;i<=;i++)); ); done 将1到10,依次乘以4,然后打印出来. 这里顺便提一下,shell里面表达式的计算,可以有 ...
- shell中for循环
shell中for循环总结 最常用的就是遍历操作某一类文件,比如批量建索引. for i in `ls` do samtools faidx $i done 注意:for末尾不需要冒号(:),循环的代 ...
- shell中for循环总结
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 1. for((i=1;i<=10;i++));d ...
- shell脚本学习-循环
跟着RUNOOB网站的教程学习的笔记 for循环 与其他编程语言类似,shell支持for循环. for循环一般格式为: for var in item1 item2 ... itemN do com ...
- 04 shell编程之循环语句
Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l 读取不同的变量值,以逐个执行同一组命令 l For语句结构 for 变量名 ...
- shell的for循环
与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符 ...
- Shell中的循环语句实例
1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do echo number $x done 注:" ...
- shell编程之循环语句for / while / until
shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...
- shell脚本之循环语句与函数
shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...
- Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...
随机推荐
- nodejs unit test related----faker-cli, sinonjs, mock/stub
http://www.tuicool.com/articles/rAnaYvn http://www.tuicool.com/articles/Y73aYn (contrast stub and mo ...
- Python菜鸟之路:Django 数据验证之钩子和Form表单验证
一.钩子功能提供的数据验证 对于数据验证,django会执行 full_clean()方法进行验证.full_clean验证会经历几个步骤,首先,对于model的每个字段进行正则验证,正则验证通过后, ...
- Java 之反射机制
java 语言的反射机制 - 在运行状态中,对于任意一个类 (class 文件),都能够知道这个类的所有属性和方法; - 能动态获取类中的信息,也可以理解为对类(字节码文件)的解剖 描述字节码文件的类 ...
- Python模块学习之bs4
1.安装bs4 我用的ubuntu14.4,直接用apt-get命令就行 sudo apt-get install Python-bs4 2.安装解析器 Beautiful Soup支持Python标 ...
- ViewConfiguration 和 ViewConfigurationCompat
Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 一.几个常用的方法 ...
- android studio本地gradle
1.从网站上下载http://services.gradle.org/distributions/ 2.打开工程里的gradle-wrapper.properties, distributionUrl ...
- JavaScript历史和标准
不管新手老手, 学门语言如果不简单了解这门语言谁创立的, 什么时候, 现在由谁来维护, 规范在哪? 总感觉, 少了点什么, 我就是这样. 历史 1994年美国网景(Netscape)公司发布自己的浏览 ...
- 5 TensorFlow入门笔记之RNN实现手写数字识别
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- python全栈开发从入门到放弃之列表的内置方法
1.列表切片 l=['a','b','c','d','e','f'] print(l[1:5]) # 根据索引号来切片,但顾头不顾尾 ['b', 'c', 'd', 'e'] print(l[1:5: ...
- ORA-00911: 无效字符\n
使用EXECUTE IMMEDIATE执行命令时命令字符串不能添加命令结束符";",否则会报此错