Shell中的条件判断(测试)类型:

1) 整数测试

2) 字符测试

3) 文件测试

条件测试的表达式:        (注: expression 与 [] 之间空格不能省略)

[ expression ]

[[ expression ]]

test expression

expression的逻辑结果即为整个条件测试的结果,0为真,其他结果均为假.

expression中为整数比较时:

-eq: 测试两个整数是否相等, 比如 $A -eq $B;                      --equal                          
-ne: 测试两个整数是否不等;不等,为真;相等,为假;          --not equal
-gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;  --great than
-lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;   --less than
-ge: 大于或等于                                                            --great or equal
-le:小于或等于                                                             --less equal

 /*
* 给定一个用户:
* 1、如果其UID为0,就显示此为管理员;
* 2、否则,就显示其为普通用户;
**/ #!/bin/bash USER=root
if [ `id -u $USER` -eq ]; then
echo 'Administrator'
else
echo 'Common User'
fi

expression中为文件测试时:

-e FILE:测试文件是否存在 ;
-f FILE: 测试文件是否为普通文件 ;
-d FILE: 测试指定路径是否为目录 ;
-r FILE: 测试当前用户对指定文件是否有读取权限;
-w FILE: 测试当前用户对指定文件是否有写权限;
-x FILE: 测试当前用户对指定文件是否有执行权限;

 #!/bin/bash
#
FILE=/etc/inittab
if [ ! -e $FILE ]; then
echo "The file doesn't exist."
exit
fi
...

expression中为字符(串)测试:

==:测试是否相等,相等为真,不等为假    (=也可,因为shell能识别)
!=: 测试是否不等,不等为真,等为假      (等号两端要有空格)
> :  
< :
-n string: 测试指定字符串是否为空,空则真,不空则假
-z string: 测试指定字符串是否不空,不空为真,空则为假

Shell编程中的条件判断(条件测试)的更多相关文章

  1. shell编程中的控制判断语句

    if 单格式与嵌套 if 条件表达式;then #当条件为真时执行以下语句 命令列表 else #为假时执行以下语句 命令列表 fi if 语句也可以嵌套使用 if 条件表达式1;then if 条件 ...

  2. shell编程中的 三种结构: 条件if/选择结构case/循环for/while/until等结构 和 函数的用法

    shell 函数的使用 (md中, 列表本身是有格式的, 他要产生缩进, 其次,列表项和列表项之间, 可以留有一个空行, 是合法的, 允许的) shell函数,就是 就相当于一个命令来看待和处理的, ...

  3. tips:Java中while的判断条件

    tips:Java中while的判断条件! 在c++中,有时候会遇到这种情况: while(x = y){ dosomething; } 如果x与y相等,这个时候如果循环体中没有跳出的点,那么会无限循 ...

  4. jpa中使用Query判断条件查询

    jpa中使用Query判断条件查询 @Query(value = " select m.* from mining_area as m " + " where 1 = 1 ...

  5. Shell编程中while与for的区别及用法详解【转】

    在shell编程中经常用到循环,常用的循环有for和while循环两种.while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别. 一.常用 ...

  6. shell编程中的单/双 小括号, 中括号, 大括号

    linux shell中的变量类型?分字符串或者数字或者bool类型吗? 参考: http://www.cnblogs.com/nufangrensheng/p/3477281.html 不分! sh ...

  7. Shell编程中Shift的用法

    Shell编程中Shift的用法 位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shif ...

  8. Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||

    https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...

  9. shell编程中的if语句

    if语句在任何编程中都是必不可少.至关重要的分支语句,shell也是如此,只不过各种编程中的方式和格式有点不太一样 shell编程中的if语句基本格式如下: if [ X$1 = XA ];then ...

  10. Shell编程中Shift的用法【转】

    本文转载自:http://www.cnblogs.com/image-eye/archive/2011/08/20/2147153.html Shell编程中Shift的用法 位置参数可以用shift ...

随机推荐

  1. web攻击之八:溢出攻击(nginx服务器防sql注入/溢出攻击/spam及禁User-agents)

    一.什么是溢出攻击 首先, 溢出,通俗的讲就是意外数据的重新写入,就像装满了水的水桶,继续装水就会溢出,而溢出攻击就是,攻击者可以控制溢出的代码,如果程序的对象是内核级别的,如dll.sys文件等,就 ...

  2. web攻击之四:DOS攻击

    DDOS是DOS攻击中的一种方法. DoS:是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务. ...

  3. web攻击之三:SQL注入攻击的种类和防范手段

    观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...

  4. mysql--事务demo1----

    package com.etc.entity; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  5. 关于Windows文件读写_暗涌_新浪博客

    关于Windows文件读写_暗涌_新浪博客     这几天在研究怎么才能加快windows文件读写速度,搜了很多文章,MSDN也看了不少.稍微给大家分享一下.     限制windows文件读写速度的 ...

  6. hive 连接查询sql对比效率

    准备4个表 从mysql 导出excel 转换为txt 创建hive 表的导入文件 create table bdqn_student( sno int, sname string, sbirthda ...

  7. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; che

    出现此种错误,我暂时遇到了两次. 1 我的字段的名称和数据库的关键字重合. 上图中的desc是默认降序排列的意思. 2 第二次出现的异常是我在重构代码阶段遇到的一个bug.不过我暂时不能理解,虽然解决 ...

  8. console (控制台)

    console 模块提供了一个简单的调试控制台,类似于 Web 浏览器提供的 JavaScript 控制台. 该模块导出了两个特定的组件: 一个 Console 类,包含 console.log()  ...

  9. 第三天的 No session 问题

    1.1 No session(理解) 初始化快递员对象中 定区集合 Web层转Courier对象为json串时候,对象中有fixedareas集合属性,jpa集合属性加载策略延迟加载.在action中 ...

  10. R语言简单作图

    以下函数只为满足常用的若干作图需求. 基本作图: plot(x).plot(x, y) #散点图,最多两个变量     #可使用参数type生成不同的效果图.常用'l'.'o'.'h',分别为折线图, ...