扩展:

select用法

http://www.apelearn.com/bbs/thread-7950-1-1.html

20.5 Shell脚本中的逻辑判断

格式1:if 条件 ; then 语句; fi

1. 创建if1.sh测试脚本:

[root@hao-01 ~]# vi if1.sh

a=5,如果a大于3,满足这个条件,显示ok

添加内容:

#!/bin/bash

a=5

if [ $a -gt 3 ]

then

echo ok

fi

2. 执行if1.sh脚本:

[root@hao-01 ~]# sh if1.sh

格式2:if 条件; then 语句; else 语句; fi

1. 创建if2.sh测试脚本:

[root@hao-01 ~]# vi if2.sh

a=1,如果a大于3,满足这个条件,显示ok; 不满足这个条件,显示nook

添加内容:

#!/bin/bash

a=1

if [ $a -gt 3 ]

then

echo ok

else

echo noook

fi

2. 执行if2.sh脚本:

[root@hao-01 ~]# sh if2.sh

查看执行过程:

[root@hao-01 ~]# sh -x if2.sh

格式3:if …; then … ;elif …; then …; else …; fi

1. 创建if3.sh测试脚本:

a=3,如果a大于4,(不满足继续判断)a大于6; 满足小于6并且大于1,显示nook

添加内容:

#!/bin/bash

a=3

if [ $a -gt 4 ]

then

echo ">"

elif [ $a -gt 6 ]

then

echo "<6 && >1"

else

echo nook

fi

2. 执行if3.sh脚本:

[root@hao-01 ~]# sh if3.sh

查看执行过程:

[root@hao-01 ~]# sh -x if3.sh


逻辑判断表达式:

-gt(>) -lt(<) -eq(==) -ne(!=) -ge(>=) -le(<=)

-gt大于 -lt小于 -eq等于 -ne不等于 -ge大于等于 -le小于等于

例:if [ $a -gt $b ] if [ $a -lt 5 ] if [ $b -eq 10 ]

可以使用 &&并且 ||或者 多个判断条件

例: if [ $a -gt 5 ] && [ $a -lt 10 ]; then

if [ $b -gt 5 ] || [ $b -lt 3 ]; then

20.6 文件目录属性判断

[ -f file ]判断是否是普通文件,且存在

1. 创建file1.sh测试脚本:

[root@hao-01 ~]# vi file1.sh

判断/tmp/hao.txt是不是普通文件?是否存在?如果不存在,创建这个文件!

添加内容:

#!/bin/bash

f="/tmp/hao.txt"

if [ -f $f ]

then

echo $f exist

else

touch $f

fi

2. 执行file1.sh脚本(文件不存在的情况下):

[root@hao-01 ~]# sh -x file1.sh

执行filel.sh脚本(文件存在的情况下):

[root@hao-01 ~]# sh -x file1.sh

[ -d file ] 判断是否是目录,且存在

1. 创建file2.sh测试脚本:

[root@hao-01 ~]# vi file2.sh

判断/tmp/hao.txt是不是目录?是否存在?如果不是目录,也不存在这样的目录,创建这个目录!

添加内容:

#!/bin/bash

f="/tmp/hao.txt"

if [ -d $f ]

then

echo $f exist

else

touch $f

fi

2. 执行file2.sh脚本(文件不存在的情况下):

[root@hao-01 ~]# sh -x file2.sh

[ -e file ] 判断文件或目录是否存在

1. 创建file3.sh测试脚本:

[root@hao-01 ~]# vi file3.sh

判断/tmp/hao.txt不管是目录或文件,只要不存在的,就创建文件或目录!

添加内容:

#!/bin/bash

f="/tmp/hao.txt"

if [ -e $f ]

then

echo $f exist

else

touch $f

fi

2. 执行file3.sh脚本

[root@hao-01 ~]# sh -x file3.sh

[ -r file ] 判断文件是否可读

1. 创建file4.sh测试脚本:

判断/tmp/hao.txt文件是否可读?

[root@hao-01 ~]# vim file4.sh

添加内容:

#!/bin/bash

f="/tmp/hao.txt"

if [ -r $f ]

then

echo $f readable

fi

2. 执行file4.sh脚本

[root@hao-01 ~]# sh -x file4.sh

[ -w file ] 判断文件是否可写

1. 创建file5.sh测试脚本:

判断/tmp/hao.txt文件是否可写?

[root@hao-01 ~]# vim file5.sh

添加内容:

#!/bin/bash

f="/tmp/hao.txt"

if [ -w $f ]

then

echo $f writeable

fi

2. 执行file5.sh脚本

[root@hao-01 ~]# sh -x file5.sh

[ -x file ] 判断文件是否可执行

1. 创建file5.sh测试脚本:

判断/tmp/hao.txt文件是否可执行?

[root@hao-01 ~]# vim file6.sh

添加内容:

#!/bin/bash

f="/tmp/hao.txt"

if [ -x $f ]

then

echo $f exeable

fi

2. 执行file56.sh脚本(没有输出就是不可执行!可是脚本配置也是权限)

[root@hao-01 ~]# sh -x file6.sh

20.7 if特殊用法

if [ -z "$a" ]  这个表示当变量a的值为空时会怎么样

if [ -n "$a" ] 表示当变量a的值不为空

if grep -q '123' 1.txt; then  表示如果1.txt中含有'123'的行时会怎么样

if [ ! -e file ]; then 表示文件不存在时会怎么样

if (($a<1)); then …等同于 if [ $a -lt 1 ]; then…

[ ] 中不能使用<,>,==,!=,>=,<=这样的符号

20.8 cace判断(上)

#!/bin/bash

read -p "Please input a number: " n

if [ -z "$n" ]

then

echo "Please input a number."

exit 1

fi

n1=`echo $n|sed 's/[0-9]//g'`

if [ -n "$n1" ]

then

echo "Please input a number."

exit 1

fi

if [ $n -lt 60 ] && [ $n -ge 0 ]

then

tag=1

elif [ $n -ge 60 ] && [ $n -lt 80 ]

then

tag=2

elif [ $n -ge 80 ] && [ $n -lt 90 ]

then

tag=3

elif [ $n -ge 90 ] && [ $n -le 100 ]

then

tag=4

else

tag=0

fi

本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1966364,如需转载请自行联系原作者

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)...相关推荐

  1. linux复杂逻辑判断,20.5 shell脚本中的逻辑判断

    shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if -; then - ;elif -; then ...

  2. 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量...

    2019独角兽企业重金招聘Python工程师标准>>> 20.1 shell脚本介绍 shell 是一种脚本语言:和传统的开发语言比较,会比较简单 shell有自己的语法:可以使用逻 ...

  3. shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case判断

    2019独角兽企业重金招聘Python工程师标准>>> shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else ...

  4. linux判断文件类型是否存在脚本,shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断...

    一.shell脚本中的逻辑判断 在shell脚本中,很多都会逻辑判断,判断某一个数值,判断某一个文件,或者某一个目录,我们针对判断结果再做一些操作,如果没有判断,就没法做一些操作 格式1:if条件:t ...

  5. 20、4 Shell脚本中的逻辑判断

    在shell脚本当中很多地方都会用到逻辑判断,判断某一个数值,判断某个目录或文件,然后针对判断的结果再做一个操作,若没有判断,是无法进行一些操作的.  例如cp一些文件,或者MV,或是删除某个文件,没 ...

  6. linux脚本判断文件属性,linux的shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断...

    格式1:if 条件 ; then 语句; fi (常用) #以命令的方式表达 [[email protected] ~]# for i in `seq 1 5`; do echo $i; done 1 ...

  7. linux shell脚本 判断,Shell脚本中的逻辑判断

    -gt 表示大于 -lt 表示小于 -ge 表示大于等于 -le 表示小于等于 -eq 表示等于 -ne 表示不等于 语法: 格式1:if 条件 ; then 语句; fi #如果满足条件,然后怎么样 ...

  8. 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量

    2019独角兽企业重金招聘Python工程师标准>>> 20.1 Shell脚本介绍 • shell是一种脚本语言  aming_linux  blog.lishiming.net ...

  9. 20.2 shell脚本结构和执行

    2019独角兽企业重金招聘Python工程师标准>>> shell脚本结构和执行 开头需要加#!/bin/bash 以#开头的行作为解释说明 脚本的名字以.sh结尾,用于区分这是一个 ...

  10. 69:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

    2019独角兽企业重金招聘Python工程师标准>>> 1.shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断. ...

最新文章

  1. 《Cisco安全防火墙服务模块(FWSM)解决方案》——1.4 利用包检测技术
  2. 如何从Microsoft SQL Server生成C#类
  3. android 判断两个整数,【tips】判断两个整数是否是同一个数量级
  4. WSSv3 Technical Articles_使用Visual Studio 2005扩展创建Windows SharePoint Services 3.0 Web Part...
  5. Win10解决Android Studio:Gradle sync failed: Failed to open zip file.
  6. php编写程序计算积分_PHP论坛实现积分系统的思路代码详解
  7. java 学生签到考勤系统_学生考勤管理系统 用了ecplise编程实现Java+jsp+mysql数据库实现对学生的考勤管理签到和教师查看登陆注册以及一套完整的增删改查 - 下载 - 搜珍网...
  8. 视频教程-ASP.NET就业实例视频教程(1)基础入门——搭建网站开发环境教学视频-.NET
  9. 图片黑底漂白 PicGrayRemover
  10. 光线追踪学习:GPU端光线追踪学习
  11. ssm基于微信小程序的游泳馆管理系统 uinapp 计算机毕业设计
  12. C盘清理-我的C盘莫名其妙就满了?
  13. 2022氟化工艺考试试题及答案
  14. Typora结束无序列表
  15. 通频带、阻值、放大倍数之间的关系(Multisim仿真所得)
  16. 泛世纪上英语,计算机,日语的录制课程。欢迎来下载
  17. MapGIS 学习资料下载
  18. 航模电池及稳压降压模块—毕设简记
  19. 植物大战僵尸无冷却方式。
  20. supervisor的安装及使用

热门文章

  1. 不用计算机时自动关掉屏幕,电脑怎么取消自动黑屏
  2. 旧的华为手机刷Android9,直播mate9刷安卓10!
  3. Python之保留字
  4. 阿里云Dataworks
  5. 简述人工智能的发展历程图_人工智能的历程、现状及未来发展趋势
  6. python性能测试框架_python性能测试框架locust(一)
  7. 无线传感器网络物理层
  8. 删除Windows 7系统保留分区100MB
  9. HTML table border 属性
  10. 同一网络下的两台计算机怎样共享,如何实现在windows下同一网络两台电脑文件共享互传?...