Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1720205
  • 博文数量: 362
  • 博客积分: 10587
  • 博客等级: 上将
  • 技术积分: 4098
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-10 18:15
文章分类

全部博文(362)

文章存档

2014年(1)

2013年(58)

2011年(115)

2010年(112)

2009年(76)

分类:

2010-09-20 15:08:39

scripts 逻辑判断式与表达式:
再来的这个东西可就更重要了,尤其在 scripts 当中!那就如『如何判定某个档案或目录,或者是如何判定程序应该朝向那个方向行进』?这个东西需要有比较好一些的逻辑概念的说明才行!底下我们分别说明一下逻辑判断式与表达式之后,再来设定几个小 scripts 试试看不同的用法,以期得到大家的了解啰!
  • 逻辑判断式:

  • 在 scripts 里头很重要的一项工作就是『判断是否可行』的目标!举个例子来说,当我们要建立一个目录的时候,先侦测有没有该目录,如果有的话,那么就不需要建立,如果没有的话,那么就建立该目录!这个就需要 script 来主动的判断了!那么如何判断呢?基本上由于是判断式,那么应该都会与『条件』有关的,所以底下的判断式大多与『 if... then... fi 』这一种条件判断式有关系!这部份后面再提,这里先提一下逻辑判断式的几个重要的咚咚: 
     
    逻辑卷标
    表示意思
    1.关于档案与目录的侦测逻辑卷标!
    -f
    常用!侦测『档案』是否存在
    -d
    常用!侦测『目录』是否存在
    -b
    侦测是否为一个『 block 档案
    -c
    侦测是否为一个『 character 档案
    -S
    侦测是否为一个『 socket 标签档案
     -L
    侦测是否为一个『 symbolic link 的档案
     -e
    侦测『某个东西』是否存在!
    2.关于程序的逻辑卷标!
    -G
    侦测是否由 GID 所执行的程序所拥有
    -O
    侦测是否由 UID 所执行的程序所拥有
    -p
    侦测是否为程序间传送信息的 name pipe 或是 FIFO (老实说,这个不太懂!)
    3. 关于档案的属性侦测!
    -r
    侦测是否为可读的属性
    -w
    侦测是否为可以写入的属性
    -x
    侦测是否为可执行的属性
    -s
    侦测是否为『非空白档案
    -u
    侦测是否具有『 SUID 』的属性
    -g
    侦测是否具有『 SGID 』的属性
    -k
    侦测是否具有『 sticky bit 』的属性
    4.两个档案之间的判断与比较 ;例如『 test file1 -nt file2 
    -nt
    第一个档案比第二个档案新
    -ot
    第一个档案比第二个档案旧
    -ef
    第一个档案与第二个档案为同一个档案( link 之类的档案)
    5.逻辑的『和(and)』『或(or)』
    &&
    逻辑的 AND 的意思
    ||
    逻辑的 OR 的意思

    比较有趣的应该算是 1, 3 这两种种类的判断,尤其是在建立一些 permission 相关的档案时,这个就更重要了!然后那个『两个档案之间的判断』也是挺有意思的!有空的话不妨去试一试去!还有,那个 && 及 || 这两个东西也是很重要的!接着下来,我们要来谈一谈运算符号啰!

  • 运算符号简介:

  • 在 bash shell scripts 的运算符号的加减乘除是怎样的一回事呀!?谈一谈吧! 
     
    运算符号
    代表意义
    =
    等于
    !=
    不等于
    <
    小于
    >
    大于
    -eq
    等于
    -ne
    不等于
    -lt
    小于
    -gt
    大于
    -le
    小于或等于
    -ge
    大于或等于
    -a
    双方都成立(and)
    -o
    单方成立(or)
    -z
    空字符串
    -n
    非空字符串

    逻辑判断式与 if...then...fi 的关系是密不可分的,我们底下就先来谈一谈这一个判断式当中最常使用的语法吧!

阅读(560) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~