文章目录

  • test命令的用法
  • 数值比较
  • 字符串比较
  • 文件比较
  • 数值测试
  • 比较变量的值和数字的大小,比较变量的值和变量的值的大小
  • 方法一
  • 方法二(不常用)
  • test命令中不能使用浮点数
  • 字符串的比较
  • 判断当前登录用户是否为root(等于和不等于比较)
  • 判断两个字的字符串的大小(大于小于比较)
  • 判断字符串长度是否为0(是否为0比较)
  • 字符串
  • 判断目录是否存在(-d)
  • 判断文件是否存在(-e)
  • 判断文件是否存在并且是一个普通文件(-f)
  • 判断文件是否可读(-r)
  • 如果文件是否存在并且非空(-s)
  • 如果文件存在且可写为真(-w)
  • 测试文件是否可执行(-x)
  • 判断文件是否存在并且属于当前用户所有(-O)
  • 判断文件是否存在并且默认组与当前用户的相同(-G)
  • 判断文件的创建时间的早晚(新旧)(-nt|-ot)
  • 复合条件测试
  • if-then的高级特性


test命令的用法

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值字符串文件三个方面的测试。

dwtest用法_当前用户

数值比较

可以用在数字和变量上

dwtest用法_字符串_02

字符串比较

dwtest用法_dwtest用法_03

文件比较

dwtest用法_转义_04

数值测试

比较变量的值和数字的大小,比较变量的值和变量的值的大小

方法一

dwtest用法_dwtest用法_05

dwtest用法_字符串_06

方法二(不常用)

dwtest用法_当前用户_07

dwtest用法_dwtest用法_08

test命令中不能使用浮点数

dwtest用法_dwtest用法_09


dwtest用法_字符串_10

字符串的比较

小知识:

echo $USER 输出当前系统的正在登录的用户

dwtest用法_dwtest用法_11

判断当前登录用户是否为root(等于和不等于比较)

(1)

dwtest用法_dwtest用法_12

dwtest用法_当前用户_13

(2)

dwtest用法_字符串_14

dwtest用法_字符串_15

(3)

dwtest用法_转义_16

dwtest用法_当前用户_17

判断两个字的字符串的大小(大于小于比较)

错误写法,不转义大于号时,shell会将<识别为输出重定向,它会创建hockey文件。因为系统会执行重定向(if后面)的语句,所以退出状态为0,判断条件为真,所以会执行then后面的语句。

dwtest用法_dwtest用法_18

dwtest用法_转义_19


正确写法应该转义大于号大于小于号必须转义,否则shell会将大于号看做输出重定向,而把字符串看作文件名。

dwtest用法_dwtest用法_20

dwtest用法_转义_21

判断字符串长度是否为0(是否为0比较)

dwtest用法_转义_22

dwtest用法_字符串_23

字符串

小知识:(输出当前用户的家目录)

dwtest用法_当前用户_24

判断目录是否存在(-d)

dwtest用法_当前用户_25

dwtest用法_当前用户_26

判断文件是否存在(-e)

dwtest用法_转义_27

判断文件是否存在并且是一个普通文件(-f)

dwtest用法_字符串_28

dwtest用法_转义_29

dwtest用法_当前用户_30

判断文件是否可读(-r)

dwtest用法_转义_31

dwtest用法_dwtest用法_32

tail filename 为输出filename的最后10行内容

如果文件是否存在并且非空(-s)

dwtest用法_dwtest用法_33


dwtest用法_字符串_34

当在文件中追加数据时

dwtest用法_转义_35

如果文件存在且可写为真(-w)

测试此文件 需要切换至普通用户

dwtest用法_字符串_36

dwtest用法_dwtest用法_37

dwtest用法_字符串_38


dwtest用法_dwtest用法_39

dwtest用法_转义_40

测试文件是否可执行(-x)

dwtest用法_当前用户_41

dwtest用法_当前用户_42

判断文件是否存在并且属于当前用户所有(-O)

dwtest用法_转义_43

dwtest用法_转义_44

判断文件是否存在并且默认组与当前用户的相同(-G)

dwtest用法_当前用户_45

dwtest用法_当前用户_46

判断文件的创建时间的早晚(新旧)(-nt|-ot)

dwtest用法_字符串_47


dwtest用法_字符串_48

复合条件测试

dwtest用法_转义_49

dwtest用法_当前用户_50

dwtest用法_dwtest用法_51

if-then的高级特性

dwtest用法_当前用户_52

双尖括号(())

方括号—>有针对字符串比较高级的特性—>通配功能

dwtest用法_字符串_53

dwtest用法_当前用户_54

dwtest用法_dwtest用法_55