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

Shell之Test命令

时间:2019-09-30 09:36:37      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:权限   参考   text   www   https   等价   set   使用   检查   

Shell之Test命令

?? Written by Zak Zhu

学习python风格, 优雅规范书写shell代码

参考

Test简介

shell中的test命令用于检查某个条件是否成立, 它可以进行整数, 字符串和文件三个方面的判断. test命令通常和if语句一起使用.

Test语法

test EXPRESSION
# 等价于
[ EXPRESSION ]

!! 语法注意:

  1. 中括号内的每个组件都用空格隔开
  2. 中括号内的变量用双引号包围起来

表达式之逻辑运算

  • 非运算

    [ ! EXPRESSION ]
  • 与运算

    [ EXPRESSION1 -a EXPRESSION2 ]
    # 等价于
    [ EXPRESSION1 ] && [ EXPRESSION2 ]
  • 或运算

    [ EXPRESSION1 -o EXPRESSION2 ]
    # 等价于
    [ EXPRESSION1 ] || [ EXPRESSION2 ]

表达式之字符串判断

表达式 注释
-z STRING the length of STRING is zero
STRING1 == STRING2
STRING1 != STRING2

表达式之整数判断

表达式 注释
INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2
INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2
INTEGER1 -gt INTEGER2 INTEGER1 is greater than to INTEGER2
INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2
INTEGER1 -lt INTEGER2 INTEGER1 is less than to INTEGER2

表达式之文件判断

1. 文件类型的判断

表达式 注释
-e FILE FILE exists
-d FILE FILE is a directory
-f FILE FILE is a regular file
-s FILE FILE has a size greater than zero
...

2. 文件权限的判断

表达式 注释
-r FILE FILE read permission is granted
-w FILE FILE write permission is granted
-x FILE FILE execute permission is granted
-u FILE FILE SUID bit is set
-g FILE FILE SGID bit is set
-k FILE FILE Sticky bit is set

3. 文件比较的判断

表达式 注释
FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers
FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2
FILE1 -ot FILE2 FILE1 is older than FILE2

Shell之Test命令

标签:权限   参考   text   www   https   等价   set   使用   检查   

原文地址:https://www.cnblogs.com/zakzhu/p/11610752.html

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