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"最低。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/31441024/viewspace-2640721/