test命令主要用于检查条件是否成立,可用于数字判断、字符判断、文件判断;也可以用自己常用的检查命令。
#!/bin/bash echo "Hello World !" num1=10 num2=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的缩写) |
#!/bin/bash num1="aaaa" num2="bbbb" #常规判断 if [ ${num1} = ${num2} ] then echo '字符相等!' else echo '字符不相等!' fi #test判断 if test $num1 = $num2 then echo '字符相等!' else echo '字符不相等!' fi
参数 | 说明 |
---|---|
= | 等于则为真 |
!= | 不相等则为真 |
-z 字符串 | 字符串的长度为零则为真 |
-n 字符串 | 字符串的长度不为零则为真 |
#!/bin/bash #常规文件是否存在 if [ ! -d $BAK_DIR ];then mkdir -p $BAK_DIR fi #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
参数 | 说明 |
---|---|
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
注: 与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。