美文网首页
Shell测试(test)命令

Shell测试(test)命令

作者: iPlanetcn | 来源:发表于2021-06-11 10:14 被阅读0次

格式

格式一:

test expression

格式二:

[ expression ]    //⚠️ 注意左方括号后及右方括号前有一个[空格]

说明

test是linux系统内置(builtin)的命令,用于评估表达式(expression)参数(parameter),
表达式expression的参数值(argument)包括:
文件测试参数,字符串测试参数,数字测试参数,参数组合运算符,退出状态码参数
多个测试语句之间可以使用逻辑运算符(!, &&, ||)连接, 优先级: ! > && > ||

文件测试参数

操作符 描述
-b file 如果file是文件并且是特殊块文件,则返回true</div>
-c file 如果file是字符文件,则返回true
-d file 如果file存在且是目录,则返回true
-a/-e file 如果file存在,则返回true
-f file 如果file存在且是常规文件,则返回true
-g file 如果file的GroupId已设置,则返回true
-h/-L file 如果file是一个符号链接,则返回true
-k file 如果file文件存在且粘滞位已设置,则返回true
-p file 如果file是命名管道(FIFO),则返回true
-r file 如果file文件存在且可读,则返回true
-s file 如果file文件大小不为零,则返回true
-t file 如果file已打开并与终端关联,则返回true
-u file 如果file的UserId已设置,则返回true
-w file 如果file文件存在且可写,则返回true
-x file 如果file文件存在且可执行,则返回true
file1 -ot file2 如果file1比file2旧,则返回true
file1 -nt file2 如果file1比file2新,则返回true
file1 -ef file2 如果file1是file2的符号链接或硬链接,则返回true

字符串测试参数

操作符 描述
-n string 如果字符串长度非零,则返回true
-z string 如果字符长度为零,则返回true
string1 = string2 如果两个字符相同,则返回true
string1 != string2 如果两个字符不相同,则返回true
string 如果字符非空,则返回true

数值比较测试参数

操作符 描述
num1 -eq num2 如果连个数值相等,则返回true
num1 -ne num2 如果连个数值不等,则返回true
num1 -gt num2 如果num1大于num2,则返回true
num1 -ge num2 如果num1大于或等于num2,则返回true
num1 -lt num2 如果num1小于num2,则返回true
num1 -le num2 如果num1小于或等于num2,则返回true

组合运算符参数(用于单个或多个测试)

操作符 描述
!expression 一元否定运算符
expression1 -a expression2 二元与运算符
expression1 -o expression2 二元或运算符
\ (Expression\) 必须使用反斜杠转义分组括号

例1:

if test ! -s "$1"
then
    echo $1 does not exist or is empty.
fi

例2:

if [ $# -lt 2 -o ! -e "$1" ]
then
    exit
fi

退出码参数

操作符 描述
0 返回true
1 返回false
>1 发生错误

相关文章

  • 【现学现忘&Shell编程】— 38.Shell中的条件判断(一

    1、test 测试命令 (1)test命令介绍 在Shell中的test测试命令,用于测试某种条件或某几种条件是否...

  • Shell测试(test)命令

    格式 格式一: 格式二: 说明 test是linux系统内置(builtin)的命令,用于评估表达式(expres...

  • shell语法

    条件测试 shell 条件测试0为真,1为假 test[ ][[ ]] 参数之间使用空格隔开 测试命令 -d 存在...

  • 05 shell脚本

    shell程序设计流程控制 3.1 test 测试命令 3.2 expr 测试语句 3.3 If 条件判断 3.4...

  • Shell基本命令(下)

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

  • Shell Script (二)善用判断式

    test命令test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。在shell中,如果...

  • Shell test 命令

    Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个...

  • Shell test命令

    Shell test命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方...

  • shell 中的条件测试

    条件测试 判断条件是否符合要求,就需要测试机制来实现,shell 中可以使用test命令来测试条件是否符合要求.b...

  • 08shell test

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

网友评论

      本文标题:Shell测试(test)命令

      本文链接:https://www.haomeiwen.com/subject/qybmeltx.html