码迷,mamicode.com
首页 > 系统相关 > 详细

linux[基础]16-shell判断用户参数[01]

时间:2017-08-29 16:51:41      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:logs   gre   span   整数   enter   etc   family   执行   dev   

Shell判断用户参数

条件测试语句能够测试特点的表达式是否成立

  当条件成立时返回值为0

  否则返回其他数值

 

测试语句格式:

 

  [ 条件表达式 ] 两侧均应有一个空格

 

  测试语句有:

 

    文件测试

    逻辑测试

    整数值比较

    字符串比较

 

文件测试:

 

  [ 操作符 文件或目录名 ]

 

参数

作用

-d

测试是否为目录

-e

测试文件或目录是否存在

-f

判断是否为文件

-r

测试当前用户是否有权读

-w

测试当前用户是否可写

-x

测试当前用户是否可执行

 

  实例:

 

    [root@CnBlogs ~]# [ -d /etc ] #判断是否为一个目录

    [root@CnBlogs ~]# echo $?

    0

    [root@CnBlogs ~]# [ -f /etc/inittab ] #判断是否为一个文件

    [root@CnBlogs ~]# echo $?

    0

    [root@CnBlogs ~]# [ -r /etc/inittab ] #判断当前用户是否可读

    [root@CnBlogs ~]# echo $?

    0

    [root@CnBlogs ~]# [ -w /etc/inittab ] #判断当前用户是否可写

    [root@CnBlogs ~]# echo $?

    0

    [root@CnBlogs ~]# [ -x /etc/inittab ] #判断当前用户是否可执行

    [root@CnBlogs ~]# echo $?

    1

 

  实例2

 

    [root@CnBlogs ~]# [ -e /dev/cdrom ] && echo "Exist"

    Exist

 

 

逻辑测试:

 

  [ 表达式1 ] 操作符 [ 表达式2 ]

 

操作符

作用

&&

逻辑的与,“而且”的意思

||

逻辑的或,“或者”的以上

!

逻辑的否

 

 

 

  实例1

 

    Root用户下:

      [root@CnBlogs ~]# [ $USER != root ] && echo "user"

      [root@CnBlogs ~]#

    普通用户下:

      [linuxs@CnBlogs ~]$ [ $USER != root ] && echo "user"

      user

      [linuxs@CnBlogs ~]$

 

  实例2

 

    Root用户下:

      [root@CnBlogs ~]# [ $USER != root ] && echo "User" || echo "root"

      root

      [root@CnBlogs ~]#

 

整数值比较:

 

  [ 整数1 操作符 整数2 ]

 

 

 

操作符

作用

-eq

判断是否等于

-gt

判断是否大于

-lt

判断是否小于

-le

判断是否等于小于

-ge

判断是否等于大于

 

 

  实例1

 

    [root@CnBlogs ~]# [ 10 -gt 10 ] #判断是否10大于10

    [root@CnBlogs ~]# echo $?

    1

 

  实例2

 

    [root@CnBlogs ~]# [ 10 -eq 10 ] #判断10是否等于10

    [root@CnBlogs ~]# echo $?

    0

 

  实例3

 

    [root@CnBlogs ~]# FreeMem=`free -m | grep cache: | awk ‘{print $3}‘`

    [root@CnBlogs ~]# echo $FreeMem

    205

    [root@CnBlogs ~]# [ $FreeMem -lt 1024 ] && echo "内存不足"

    内存不足

    [root@CnBlogs ~]#

 

字符串比较:

 

   [ 字符串1 操作符 字符串2 ]

 

操作符

作用

=

比较字符串内容是否相同

!=

比较字符串内容是否不同

-z

判断字符串内容是否为空

 

实例1

 

  [root@CnBlogs ~]# [ -z $String ] #判断变量是否为空

  [root@CnBlogs ~]# echo $?

  0

 

实例2

 

  [root@CnBlogs ~]# [ $LANG != "en.US" ] && echo "Not en.US"

  #判断系统语言是否为en.us

  Not en.US

 

linux[基础]16-shell判断用户参数[01]

标签:logs   gre   span   整数   enter   etc   family   执行   dev   

原文地址:http://www.cnblogs.com/msl23/p/7449051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!