if    条件 
then
        Command
else
        Command
fi                               别忘了这个结尾
——————————————————————————

[ ] &&        ——快捷if

——————————————————————————

条件表达式

if [ -f file ]    如果文件存在

if [ -d ... ]    如果目录存在

if [ -s file ]    如果文件存在且非空

if [ -r file ]    如果文件存在且可读

if [ -w file ]    如果文件存在且可写

if [ -x file ]    如果文件存在且可执行

整数变量表达式

    if [ int1 -eq int2 ]     如果 int1 等于 int2     
    if [ int1 -ne int2 ]     如果不等于 
    if [ int1 -ge int2 ]     如果 >=  
    if [ int1 -gt int2 ]      如果 >  
    if [ int1 -le int2 ]       如果 <=  
    if [ int1 -lt int2 ]        如果 <

复杂逻辑判断

-a         与 
-o        或 
!        非

 
if 条件判断中有多个条件
#!/bin/bash
score=$1
if [ $score = 5 ]||[ $score = 3 ];then
    echo right
else
    echo wrong
fi
 
-------------------------------------------------------
#!/bin/bash
score=$1
if [ $score -gt 5 ]||[ $score -lt 3 ];then
    echo right
else
    echo wrong
fi
 
-------------------------------------------------------
#!/bin/bash
score=$1
if [ $score -gt 15 ]||([ $score -lt 8 ]&&[ $score -ne 5 ]);then
    echo right
else
    echo wrong
fi
 
 
-------------------------------------------------------
或:

#!/bin/bash

count="$1"

if [ $count -gt 15 -o $count -lt 5 ];then

echo right

fi

 
且:

#!/bin/bash

count="$1"

if [ $count -gt 5 -a $count -lt 15 ];then

echo right

fi
-------------------------------------------------------
score=$1
if [[ $score -gt 15 || $score -lt 8 && $score -ne 5 ]];then
    echo right
else
    echo wrong
fi
记住必须加两个中括号

grep -c 输出匹配行数量
         -i  搜索是忽略大小写
         -h  查询多文件时不显示文件名
         -l   只列出符合匹配的文件名,不列出具体匹配行
         -n  列出所有匹配行,并显示行号
         -s  不显示不存在或匹配文本的错误信息
         -v  显示不包含匹配文本的所有行
         -w  匹配整词
         -x   匹配整行
         -r   递归搜索,搜多当前目录及子目录
         -q  禁止输出任何结果,以退出状态表示搜索是否成功
         -b  打印匹配行距文件头部偏移量,以字节为单位
         -o  与-b结合使用,打印匹配的词距文件头部偏移量,以字节为单位
         -E  支持扩展正则表达式
         -F  不支持正则表达式,按照字符串的字面意思进行匹配
 
实例:
   grep -n 123 123.txt  列出123.txt中包含123的行并显示行号
   grep -E "a|b" 123.txt 多条件过滤  123.txt中包含a或者b的行
  grep  "a\|b" 123.txt 同上
  grep -v 'a\|b 123.txt 多条件过滤,123.txt中不包含a和b的行
  

if && grep的更多相关文章

  1. grep 查找bash脚本中的注释代码

    出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...

  2. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  3. linux中grep的应用

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  4. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  5. 4-4 grep及正则表达式

    1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字 ...

  6. grep 命令过滤配置文件中的注释和空行

    grep 用法 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. ...

  7. sed awk grep三剑客常用

    sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...

  8. awk命令和grep命令的使用

    1.遇到需求:用ping命令去检测系统网络延迟 跑 ping baidu.com -c 3,想要直接得到平均延迟. ping baidu.com -c 3 | grep rtt | awk -F \/ ...

  9. grep 命令

    简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...

  10. 使用git grep进行git搜索

    1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo  显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...

随机推荐

  1. 27 Python 装饰器

    一. 我们先写一个玩游戏的步骤 # def play(): # print("双击LOL") # print("选择狂战士") # print("进草 ...

  2. 查看Linux服务器硬件信息

    一:查看cpu# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpui ...

  3. layer单选框 radio的问题总结

    放官方文档: 位置 页面元素-表单:内置模块-表单属性title可自定义文本属性disabled开启禁用设置value="xxx"可自定义值,否则选中时返回的就是默认的onradi ...

  4. shell脚本实战

    想写个脚本,发现都忘了,蛋疼,一边回忆一边查一边写,总算完成了,贴在下面: #!/bin/bash #Program: # This program can help you quickly rede ...

  5. Vue自行封装常用组件-倒计时

    倒计时组件,比较复杂一点,大神勿调侃,精确到毫秒,因为项目中多次出现倒计时,所以拿出来分享下 使用方法:1.在父组件中引入"uni-countdown" //import uniC ...

  6. jmeter中的几种参数化场景

    1.request路径中引用参数 2.body中引用参数 3.parameter中引用参数 4.header中引用参数,如token这类跟用户相关参数 5.response assertion中引用参 ...

  7. maven项目编译报错:Type Dynamic Web Module 3.0 requires Java 1.6 or newer.

    在maven的pom.xml文件中增加: <build>   <plugins>     <plugin>         <groupId>org.a ...

  8. 【LOJ#536】「LibreOJ Round #6」花札

    题目链接 题目描述 「UniversalNO」的规则如下:每张牌有一种颜色和一个点数.两个人轮流出牌,由 Alice 先手,最开始牌堆为空,出的人可以出任意牌(放到牌堆顶),之后出的牌必须和当时牌堆顶 ...

  9. node的安装和配置教程

    node,除了做数据服务处理,还是各大框架的环境依赖,作为前端开发人员,node是必不可少的.好了,接下来直接开始. 一.根据自己的安装环境(即你的电脑系统版本)下载对应安装包,官网地址:https: ...

  10. ORACLE获取BOM清单

    BOM 结构如图 -- 1DH142-022 (DRIVE) -- 100729421  (PCBA) -- 100764148  (HDA) -- 100687050 (VCM) -- 100701 ...