#!/bin/bash
echo "---------------------Shell test命令---------------"
:<<EOF
shell命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试
-eq 等于则维珍
-ne 不等于则为真
-gt 大于则为真
-lt 小于则为真
-le 小于或等于为真
EOF
num1=100
num2=200
if test ${num1} -eq ${num2}
then
echo "两个数相等"
else
echo "两个数不相等"
fi
if test ${num1} -ne ${num2}
then
echo "两个数不相等"
else
echo "两个数相等"
fi
if test ${num1} -gt ${num2}
then
echo " ${num1} 大于 ${num2} "
else
echo " ${num1} 小于 ${num2} "
fi
if test ${num1} -ge ${num2}
then
echo " ${num1} 大于 ${num2} "
else
echo " ${num1} 小于 ${num2} "
fi
if test ${num1} -lt ${num2}
then
echo " ${num1} 小于 ${num2} "
else
echo " ${num1} 大于 ${num2} "
fi
if test ${num1} -le ${num2}
then
echo " ${num1} 小于 ${num2}"
else
echo " ${num1} 大于 ${num2} "
fi
# 字符串的test
:<<EOF
= 等于则为真,不相等为假
!= 不相等为真,相等为假
-z字符串 字符串长度为零则为真
-n字符串 字符串的长度不为零则为真
EOF
str_1="xiaobai"
str_2="shell"
if test ${str_1} = ${str_2}
then
echo "两个字符串相等"
else
echo "两个字符串不相等"
fi
if test ${str_1} = ${str_2}
then
echo "两个字符串不相等"
else
echo "两个字符串相等"
fi
if test -z ${str_1}
then
echo "字符串长度为零"
else
echo "字符串不为零"
fi
if test -z ${str_2}
then
echo "字符串长度为零"
else
echo "字符串不为零"
fi
if test -n ${str_1}
then
echo "字符串长度不为零"
else
echo "字符串长度为零"
fi
# 文件测试的test
:<<EOF
-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读为真
-w 文件名 如果文件存在而且文件可写
-x 文件名 如果文件存在且可执行为真
-s 文件名 如果文件存在且最少有一个字符为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且文件为普通文件则为真
-c 文件名 如果文件存在且字符类型特殊文件中则为真
-b 文件名 如果文件存在且为特殊文件则为真
EOF
cd /bin
if test -e ./bash
then
echo "文件存在"
else
echo "文件不存在"
fi
if test -e ./notFile -o -e ./bash
then
echo "至少有一个文件存在"
else
echo "两个文件都不存在"
fi
此仅为学习笔记,请勿喷!!