Shell师徒西天取经----第三天Shell的test命令

#!/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

此仅为学习笔记,请勿喷!!

发布了32 篇原创文章 · 获赞 7 · 访问量 7751

猜你喜欢

转载自blog.csdn.net/adim__/article/details/105149797
今日推荐