computer_knowledge_notes/Software/文本转换/test.md

1.9 KiB
Raw Blame History

简介

检测某个条件是否成立,检测对象可以是数值、字符或文件。

语法

test EXPRESSION		# 返回EXPRESSION的值这个值只有两个结果true或false。
逻辑运算
  • ! EXPRESSION非运算
  • EXPRESSION -a EXPRESSION且运算
  • EXPRESSION -o EXPRESSION或运算
字符串运算
  • -n STRING字符串STRING长度非零则为真
  • STRING等价于-n STRING
  • -z STRING字符串STRING长度为零则为真
  • STRING1 = STRING2两个字符串相等则为真
  • STRING1 != STRING2两个字符串不相等则为真
数值运算
  • INTEGER1 -eq INTEGER2两个数值相等则为真
  • INTEGER1 -ne INTEGER2两个数值不等则为真
  • INTEGER1 -ge INTEGER2大于等于则为真
  • INTEGER1 -gt INTEGER2大于则为真
  • INTEGER1 -le INTEGER2小于等于则为真
  • INTEGER1 -lt INTEGER2小于则为真
文件运算
  • FILE1 -ef FILE2文件FILE1和FILE2有相同的设备和inode号
  • FILE1 -nt FILE2文件FILE1比文件FILE2修改时间要新
  • FILE1 -ot FILE2文件FILE1比文件FILE2修改时间要老
  • -b FILE文件存在且为块设备
  • -c FILE文件存在且为字符设备
  • -d FILE文件存在且是一个目录
  • -e FILE文件存在
  • -f FILE文件存在且是普通文件
  • -g FILE文件存在且设置了set-group-ID位
  • -G FILE文件存在且属于有效的组
  • -h FILE等价于-L FILE
  • -k FILE文件存在且设置了sticky位
  • -L FILE文件存在且是符号链接,等价于-h FILE
  • -O FILE文件存在且其所有者为有效用户
  • -p FILE文件存在且是有名管道
  • -r FILE文件存在且可读
  • -s FILE文件存在且其大小大于0
  • -S FILE文件存在且是套接字
  • -t FD文件描述符FD已经在terminal里打开
  • -u FILE文件存在且set-user-ID位已设置
  • -w FILE文件存在且可写则为真
  • -x FILE文件存在且可执行则为真