Vecloud 发表于 2022-1-21 14:21:54

Shell学习【test命令】


Shell test 命令test命令主要用于检查条件是否成立,可用于数字判断、字符判断、文件判断;也可以用自己常用的检查命令。

test数字演示#!/bin/bashecho"HelloWorld!"num1=10num2=10#常规的判断if[${num1}-eq${num2}]thenecho'两个数相等!'elseecho'两个数不相等!'fi#test常规的判断iftest$-eq$thenecho'两个数相等!'elseecho'两个数不相等!'fi
数字判断符参数说明-eq等于则为真   (equal的缩写)-ne不等于则为真    (not equal的缩写)-gt大于则为真   (greater than的缩写)-ge大于等于则为真 (greater&equal的缩写)-lt小于则为真   (lower than的缩写)-le小于等于则为真(lower&equal的缩写)

test字符演示#!/bin/bashnum1="aaaa"num2="bbbb"#常规判断if[${num1}=${num2}]thenecho'字符相等!'elseecho'字符不相等!'fi#test判断iftest$num1=$num2thenecho'字符相等!'elseecho'字符不相等!'fi

字符判断符参数说明=等于则为真!=不相等则为真-z 字符串字符串的长度为零则为真-n 字符串字符串的长度不为零则为真

test文件演示#!/bin/bash#常规文件是否存在if[!-d$BAK_DIR];thenmkdir-p$BAK_DIRfi#test判断文件iftest-e${BAK_DIR}thenecho'文件存在!'elseecho'文件不存在!'fi#与(-a)、或(-o)、非(!)三个逻辑操作符用于将iftest-e${BAK_DIR}-o-e${BAK_DIR1}thenecho'存在至少一个文件!'elseecho'不存在文件!'fi

文件判断符【test】参数说明-e 文件名如果文件存在则为真-r 文件名如果文件存在且可读则为真-w 文件名如果文件存在且可写则为真-x 文件名如果文件存在且可执行则为真-s 文件名如果文件存在且至少有一个字符则为真-d 文件名如果文件存在且为目录则为真-f 文件名如果文件存在且为普通文件则为真

注:与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低。

页: [1]
查看完整版本: Shell学习【test命令】