条件测试
格式 test condition 或 [ condition ] 使用方括号时,要注意在条件两边加上空格,如果有操作符,运算符之间也必须有空格
测试状态:测试的结果可以用$?的值来判断,0表示成功,其他为失败
--文件状态测试
-e  判断文件是否存在
-d 判断目录是否存在
-f 正规文件(是不是普通文件)
-L 符号链接
-r 可读
-s 文件长度大于0、非空
-w 可写
-u 文件有suid位设置
-x 可执行
--逻辑测试
-a 逻辑与,操作符两边均为真,结果为真,否则为假
-o 逻辑或,操作符两边一边为真,结果为真,否则为假
! 逻辑否,条件为假,结果为真
--字符串测试
= 两个字符串相等
!= 两个字符串不等
-z 字符串为空
-n 字符串非空
--数字测试
-eq 两个数字相等
-ge 数字a大于等于数字b
-gt 数字a大于数字b
-le 数字a小于等于数字b
-lt 数字a小于数字b
-ne 数字a不等于数字b

expr
--数字运算
--加法运算:expr +
--减法运算:expr -
--加法运算:expr /
--乘法运算:expr \*
--注意:expr + ;(空格)+(空格),数字与运算符之间必须使用空格
--如果是非数字参加运算会报错误,利用此点可以用来测试数字格式。
--例子:expr + a 查看是否报错,测试a是否是数字
if then else 语句
语法1
if 条件
then 命令
else 命令
fi
注意if语句必须以fi终止 语法2
if 条件1;(";"可以加也可以不加,规则是加上)
then 命令1
elif 条件2
then 命令2
else 命令3
fi 注意:if then else命令,if和then如果在同一行上,必须加";"分号,不在同一行上,可以不加

case
case多选择语句格式
case 值 in
模式1)
命令1
;;
模式2)
命令2
;;
esac
注意点:
①:case取值后面必须为单词in:每一模式必须以右括号结束
②:取值可以为变量或常数。匹配发现取值符合某一模式后,气候的所有命令开始执行,直到;;
③:模式匹配:*表示任意字符;?表示任意单字符;[...]表示范围中任意字符
for循环
语法格式
for 变量名 in 列表
do
命令1
命令2
done
.当变量值在列表里,for循环即依次执行所有命令,使用变量名访问列表中取值
.命令可以为任何有效的shell命令和语句。变量名为任意单词
.in列表用法是可选择,如果不用它,for循环使用命令行的位置参数
.in列表可以包含替换、字符串和文件名

until循环
语法格式
until 条件
do
命令1
命令2
done
条件可以为任意测试条件,测试发生在循环末尾,因此循环至少执行一次
while循环
语法格式
while 命令(可以是一个命令也可以是多个)
do
命令1
命令2
done
注意:在while和do之间虽然通常是一个命令,但可以放几个命令。
如果whil和do之间一个命令都没有必须加上":"

break [n]
--退出循环
--如果是在一个嵌入循环里,可以指定n来跳出循环个数 continue
--跳出本次循环(不会跳出循环,跟C语言相同)

Linux shell循环的更多相关文章

  1. Linux shell循环遍历

    有时候需要紧急处理一些Excel列表中的数据,如提供一堆id列表,需要删除对应的表,一开始的办法是通过python pandas读取excel,然后拼接id元祖执行sql命令: 运维的同事说不用这么麻 ...

  2. linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载

    http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...

  3. Linux Shell系列教程之(十二)Shell until循环

    本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...

  4. [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

    原文链接:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语句 ...

  5. Linux Shell系列教程之(十一)Shell while循环

    本文是Linux Shell系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上一篇Linux Shell系列教程之(十)Shell for循环中,我们已经 ...

  6. Linux Shell系列教程之(十)Shell for循环

    本文是Linux Shell系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,今天就为大家介绍下Shel ...

  7. Linux shell for循环结构

    Linux Shell   for循环结构 循环结构            1:循环开始条件      2:循环操作      3:循环终止的条件 shell语言          for,while ...

  8. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

  9. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

随机推荐

  1. response设置输出文件编码

    在java后台的Action代码或者Servlet代码中用response的方法来设置输出内容的编码方式,有以下三个方法: 1.response.setCharacterEncoding(" ...

  2. art.dialog.art 中,将子页面窗口中的值传递给父框架中

    artDialog.open.origin.document.getElementById('父元素ID').value=document.getElementById('子页面元素ID').valu ...

  3. Tomcat+Nginx+Lvs部署方案与性能调优

    立项要求:用户登录并发数达到1000vuser.原项目设计没有Nginx和LVS,经过性能测试并发数最高到400,就报响应超时,且系统资源消耗严重.经过和架构师商议决定先加入Nginx解决负载均衡处理 ...

  4. redis使用笔记

    mysql---select * from table where xx;insert into table(name1,name2..) values(value1,value2);delete f ...

  5. 机器数据的价值 - Web 访问日志和数据库审计日志

    计算机数据 大量的数据流,不断增长的来源,蕴含着巨大的价值 在 Splunk,我们大量谈及计算机数据.这些数据是指在数据中心.“物联网”和互联设备世界中运行的所有系统产生的数据.其中包括支撑组织的应用 ...

  6. 腾讯Tinker初入门总结

  7. BIEE建模参考规范

    BIEE建模参考规范 注:本文基于网上盛传的“BIEE建模黄金法则”,并做了更为细致的讲解,以及修改. 物理层 1.  在可能的情况下,配置你的连接池使用本地驱动来连接物理数据库.例如,使用OCI而不 ...

  8. Opensource开源精神

    现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”.那些大公司的代码不愿意开放的更重要的原 ...

  9. linux清理内存命令

    1.清理前内存使用情况 free -m 2.开始清理  echo 1 > /proc/sys/vm/drop_caches3.清理后内存使用情况 free -m4.完成! 查看内存条数命令: # ...

  10. actionlib的身世之谜

    不知道为什么会把这么严肃认真的一篇技术整理贴起这么一个故事会风格类似的名字,就这样吧:^)shenmegui 园子里有人整理了actionlib的初学者教程,我来整理下actionlib的细节描述吧. ...