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

此僅爲學習筆記,請勿噴!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章