#!/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
此僅爲學習筆記,請勿噴!!