1 字串比較
string1 = string 2
如果兩個字串相同,則結果為真;
string1 != string2
如果兩個字串不相同,則結果為真;
-n string
如果字串不為空,則結果為真;
-z string
如果字串為null,則結果為真;
sample:
#! /bin/sh
sa="hello"
sb="hello"
sc="linux"
if [ $sa = $sb ]
then
echo "$sa equals $sb"
fiif [ $sa != $sc ]
then
echo "$sa not equals $sc"
fiif [ -n $sa ]
then
echo "$sa not null"
fiif [ -n "" ]
then
echo "/"/" is null"
fiif [ -z "" ]
then
echo "/"/" is null"
2 算術比較
expr1 -eq expr2
expr1等於expr2
expr1 -ne expr2
expr1不等於expr2
expr1 -gt expr2
expr1大於expr2
expr1 -ge expr2
expr1大於或等於expr2
expr1 -lt expr2
expr1小於expr2
expr1 -le expr2
expr1小於或等於expr2
sample:
#! /bin/sh
i=1j=2
k=2if [ $i -lt $j ]
then
echo "$i less than $j"
fiif [ $j -le $k ]
then
echo "$j less or equals $i"
fiif [ $j -ne $k ]
then
echo "$j not equals $k"
else
echo "$j equals $k"
fi3 檔案判斷
-d file file是乙個目錄時為真
-e file 或 -f file file存在時為真
-r 或 -w 或 -x file file可讀或可寫或可執行時為真
-g file file的set-group-id被設定時為真
-u file file的set-user-id被設定時為真
sample:
#! /bin/sh
dirpath="/root"
filepath="./test_test"
if [ -d $dirpath ]
then
echo "$dirpath is a directory"
fiif [ -f $filepath ]
then
echo " file $filepath exists"
fiif [ -r $filepath ] && [ -w $filepath ] && [ -x $filepath ]
then
echo "file $filepath is readable,writable and excutable"
fiif [ -g $filepath ]
then
echo "file $filepath set set-group-id"
else
echo "file $filepath not set set-group-id"
fiif [ -u $filepath ]
then
echo "file $filepath set set-user-id"
else
echo "file $filepath not set set-user-id"
fi
Linux shell 的 test 命令用法詳解
基本格式 test expression expression為test命令構造的表示式。這裡expression是test命令可以理解的任何有效表示式,該簡化格式將是讀者可能會踫見的最常用格式 返回值 test命令或者返回0 真 或者返回1 假 test可理解的表示式型別分為四類 1 判斷表示式 ...
Unix中test命令的用法
test命令的功能 檢查檔案和比較值。1 判斷表示式 if test 表示式為真 if test 表示式為假 test 表示式1 a表示式2兩個表示式都為真 test 表示式1 o表示式2兩個表示式有乙個為真 2 test n 字串字串的長度非零 test z 字串字串的長度為零 test 字串1 ...
Linux shell 的 test 命令用法詳解
基本格式 test expression expression為test命令構造的表示式。這裡expression是test命令可以理解的任何有效表示式,該簡化格式將是讀者可能會踫見的最常用格式 返回值 test命令或者返回0 真 或者返回1 假 test可理解的表示式型別分為四類 1 判斷表示式 ...