Shell test 命令
test命令主要用于检查条件是否成立,可用于数字判断、字符判断、文件判断;也可以用自己常用的检查命令。
test数字演示
#!/bin/bashecho "Hello World !"num1=10num2=10#常规的判断if [ ${num1} -eq ${num2} ]then echo '两个数相等!'else echo '两个数不相等!'fi#test常规的判断if test $[num1] -eq $[num2]then echo '两个数相等!'else echo '两个数不相等!'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} ]then echo '字符相等!'else echo '字符不相等!'fi#test判断if test $num1 = $num2then echo '字符相等!'else echo '字符不相等!'fi
字符判断符
参数 | 说明 |
---|
= | 等于则为真 |
!= | 不相等则为真 |
-z 字符串 | 字符串的长度为零则为真 |
-n 字符串 | 字符串的长度不为零则为真 |
test文件演示
#!/bin/bash#常规文件是否存在if [ ! -d $BAK_DIR ];then mkdir -p $BAK_DIRfi#test判断文件if test -e ${BAK_DIR}then echo '文件存在!'else echo '文件不存在!'fi#与( -a )、或( -o )、非( ! )三个逻辑操作符用于将if test -e ${BAK_DIR} -o -e ${BAK_DIR1}then echo '存在至少一个文件!'else echo '不存在文件!'fi
文件判断符【test】
参数 | 说明 |
---|
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
注:与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341