Shell脚本笔记(八)循环
循环
一、whlie和until循环
while循环基本语法:
while <条件表达式>
do
指令
done
#注意代码缩进
util循环基本语法:
until <表达式>
do
指令
done
#与while的区别:不成立时进入循环,成立时终止循环
注意while条件表达式跟if的区别:if后的表达式是形如'[ a -eq b ]'这样的表达式,此时返回0为真,while后跟(( a < b)),返回1时为真。
# !/bin/bash
sum=
i=
while ((sum>i)) #正确
do
((sum=sum-i))
echo "The sum now is $sum"
done
echo "The money is less than $i pls add it"
# !/bin/bash
sum=
i=
while [ $sum -gt $i ] #错误的写法
do
((sum=sum-i))
echo "The sum now is $sum"
done
echo "The money is less than $i pls add it"
使用while按行读文件:
方法一:
exec <FILE
sum=
while read line
do
echo $line
done
方法二:使用cat读文件
cat filePath | while read line
do
cmd
done
方法三:结尾重定向
while read line
do
cmd
done<$
二、for与select循环
for循环语法:
语法一:
for 变量名 in 变量取值列表
do
cmd
done
注意:"in 变量取值列表"可以省略,省略时相当于"in $@"
语法二(与C语言相识):
for((expr1;expr2;expr3))
do
cmd
done
例子:
for num in
do
echo $num
done
等同于
for num in {..}
do
echo $num
done
批量更改当前目录下的文件名:
# !/bin/bash
for n in `ls`
do
mv $n `echo $n|cut -d . -f1`.gif
done
select 循环语句主要用来打印菜单
# !/bin/bash
select name in tang jia pi bear
do
echo $name
done
in后面也可以接命令结果或者数组
Shell脚本笔记(八)循环的更多相关文章
- shell脚本之for循环
shell脚本之for循环 author :headsen chen 2017-10-18 09:50:41 个人原创,转载请注明.否则依法追究法律责任 1,cat forloop ...
- shell 脚本中所有循环语法
写出 shell 脚本中所有循环语法 for 循环 : for i in $(ls);do echo item:$i done while 循环 : #!/bin/bash COUNTER=0 whi ...
- centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课
centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 ...
- shell脚本中select循环语句用法
shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...
- shell脚本进阶之循环判断
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- shell脚本笔记(原创不断记录)
今天开始自己的shell脚本练习,刚好公司有太服务器,要时间对数据的cp是按月的: 考虑:首先寻找规律,发现都放置在/opt/www/aaa/ 里面有很多的2级和3级目录和文件,但我追踪要备份的是年 ...
- Shell脚本笔记
如何查询文件里的某个字符串? grep “字符串” 文件 例:grep "abc" tmp.txt 如何将查询出来的内容赋给变量? str=$(grep "abc ...
- Shell脚本笔记(七)控制Shell脚本
控制Shell脚本 一.处理信号 1) SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联. ...
- Shell脚本笔记(一)一些零碎的基础知识
一些零碎的基础知识 一.认识Shell脚本 一)相关概念 Shell是一种命令解释器,作用是按次序执行(遇到子脚本,先执行子脚本的命令)用户输入的命令和程序. Shell脚本语言是弱类型语言,与其他脚 ...
- Shell脚本笔记(二)Shell变量
Shell变量 一)全局环境变量 全局变量对于定义它的shell和其子shell都是可见的,但如果生成它的shell被终止,全局变量也就消失了.另外全局变量会被子shell的同名变量覆盖. #定义一个 ...
随机推荐
- 拓扑排序基础 hdu1258,hdu2647
由这两题可知拓扑排序是通过“小于”关系加边建图的 hdu2647 /* 拓扑排序的原则是把“小于”看成有向边 此题反向建图即可 并且开num数组来记录每个点的应该得到的权值 */ #include&l ...
- Java 获取屏幕的宽、高
import java.awt.Toolkit; public class GetScreenSize { public static void main(String[] args) { int s ...
- R2CNN项目部分代码学习
首先放出大佬的项目地址:https://github.com/yangxue0827/R2CNN_FPN_Tensorflow 那么从输入的数据开始吧,输入的数据要求为tfrecord格式的数据集,好 ...
- C:\Users\Administrator\.IntelliJIdea2017.3\system\tomcat\Unnamed_08_upload\work\Catalina\localhost\ROOT这个错误是找不到temp文件
C:\Users\Administrator\.IntelliJIdea2017.3\system\tomcat\Unnamed_08_upload\work\Catalina\localhost\R ...
- HDU 2112 HDU Today(最短路径+map)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- mybatis_generator_逆向工程的使用笔记
1:解压mybatis_generator_1.3.1.zip文件. 2:把features,pougins文件夹copy到D:\java\eclipse\eclipse目录下(D:\java\ecl ...
- Visual Studio 2012 Update 3
不知道是不是都关注Win8.1和Visual Studio 2013 preview去了… 貌似没大有人发现2012的update3在update2后2月就出了… ms明显加快了开发速度额… KB a ...
- [转] 一张图理解prototype、proto和constructor的三角关系
前面的话 javascript里的关系又多又乱.作用域链是一种单向的链式关系,还算简单清晰:this机制的调用关系,稍微有些复杂:而关于原型,则是prototype.proto和constructor ...
- Morley's Theorem
题解: 计算几何基本操作 注意叉积的时候字母写的顺序 代码: #include <bits/stdc++.h> using namespace std; #define rint regi ...
- poj2398
题解: 计算几何入门题 对每个二分最近的在它右边的杆子 如何判断一个杆子在它右边呢 计算机判断这些要更善于利用点积和叉积 如果叉积为正代表在顺时针方向叉积为负在逆时针 发现要在struct里面重载运算 ...