linux 脚本 if判断 o,shell脚本常用脚本:if判断
shell腳本常用腳本:if判斷
str1 = str2當兩個串有相同內容、長度時為真
str1 != str2當串str1和str2不等時為真
-n str1當串的長度大于0時為真(串非空)
-z str1當串的長度為0時為真(空串)
str1當串str1為非空時為真
[ "2006.01.23" \> "2005.03.01" ] && echo dayu || echo budayu
int1 -eq int2兩數相等為真
int1 -ne int2兩數不等為真
int1 -gt int2int1大于int2為真
int1 -ge int2int1大于等于int2為真
int1 -lt int2int1小于int2為真
int1 -le int2int1小于等于int2為真
-r file用戶可讀為真
-w file用戶可寫為真
-x file用戶可執行為真
-f file文件為正規文件為真
-d file文件為目錄為真
-c file文件為字符特殊文件為真
-b file文件為塊特殊文件為真
-s file文件大小非0時為真
-t file當文件描述符(默認為1)指定的設備為終端時為真
-a與
-o或
!非
上面的三種寫在括號內,對應的&& ||寫在中括號之間。例如,if? [?? "$a"? eq?? 1? -o ?"$b" eq 2 ]? &&? [?? "$c"? eq? 3 ]
If [條件]
then
指令
fi
或
If [條件]; then
指令
fi
提示:分號相當于命令換行,上面兩種語法相同,在腳本中一般使用第一種
腳本實例:
比較大小
[root@centos-b if]# cat if01.sh
#!/bin/bash
#a=12
#b=11
read -p "pls input two number:" a b
if [ $a -gt $b ]
then
echo "yes $a > $b"
fi
if [ $a -lt $b ]
then
echo "yes $a < $b"
fi
if [ $a -eq $b ]
then
echo "yes $a = $b"
fi
方法二:
語法:
If [條件]
then
指令
else
指令
fi
雙分支腳本實例:
比較大小
[root@centos-b if]# cat if02.sh
#!/bin/bash
#a=12
#b=11
read -p "pls input two number:" a b
if [ $a -gt $b ]
then
echo "yes $a > $b"
else
if [ $a -lt $b ]
then
echo "yes $a < $b"
else
echo "yes $a = $b"
fi
fi
#傳參做判斷
[root@centos-b if]# ./if04.sh
pls input two number:10
Usage :sh ./if04.sh num1 num2
[root@centos-b if]# ./if04.sh
pls input two number:11 1 1
Usage :sh ./if04.sh num1 num2
[root@centos-b if]# cat if04.sh
#!/bin/bash
#a=12
#b=11
read -p "pls input two number:" a b
if [ $# -ne 2 ]
then
echo "Usage :sh $0 num1 num2"
exit 1
elif [ $a -gt $b ]
then
echo "yes $a > $b"
elif [ $a -lt $b ]
then
echo "yes $a < $b"
else
echo "yes $a = $b"
fi
語法:
If [條件]
then
指令
elif [條件]
then
指令
elif [條件]
then
指令
elif [條件]
then
指令
… …
else
指令
fi
多分支腳本實例:
比較大小
[root@centos-b if]# cat if03.sh
#!/bin/bash
#a=12
#b=11
read -p "pls input two number:" a b
if [ $a -gt $b ]
then
echo "yes $a > $b"
elif [ $a -lt $b ]
then
echo "yes $a < $b"
else
echo "yes $a = $b"
fi
傳參判斷方式計算:
[root@centos-b if]# ./if05.sh 15 1f
第二個參數必須為數字
[root@centos-b if]# ./if05.sh 1w 1
第一個參數必須為數字
[root@centos-b if]# cat if05.sh
#!/bin/bash
a=$1
b=$2
#read -p "pls input two number:" a b
if [ $# -ne 2 ]
then
echo "Usage :sh $0 num1 num2"
exit 1
fi
[ -n "`echo $1 |sed 's/[0-9]//g'`" ] && echo "第一個參數必須為數字" && exit 1
[ -n "`echo $2 |sed 's/[0-9]//g'`" ] && echo "第二個參數必須為數字" && exit 1
if [ $a -gt $b ]
then
echo "yes $a > $b"
elif [ $a -lt $b ]
then
echo "yes $a < $b"
else
echo "yes $a = $b"
fi
總結
以上是生活随笔為你收集整理的linux 脚本 if判断 o,shell脚本常用脚本:if判断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web加减乘除法c#_C#的加减乘除的问
- 下一篇: .NET的命名空间