邏輯表達式
在[ ]中括号中:
以下是數字的比較
-lt:=little than 小于
-le:=little && equal 小于等于
-eq:=equal 等于
-ne:=no equal 不等于
-gt:=greater than 大于
-ge:=greater && equal 大于等于
字元串的比較
<,<=,==,!=,>,>=
1、if then fi
[root@centos7 shell]# vi test.sh
#!/bin/bash
a=9
if [ $a -gt 2 ]
then
echo "ok"
fi
2、多條件判斷
if then elif then elif then fi
3、
條件A&&條件B:并且
條件A||條件B:或者
4、shell腳本中if經常用于判斷文檔的屬性,比如判斷是普通檔案還是目錄檔案,判斷檔案是否有讀、寫、執行權限等。if常用的選項有以下幾個:
-e:判斷檔案或目錄是否存在
-d:判斷是不是目錄檔案以及是否存在
-f:判斷是不是普通檔案以及是否存在
-r:判斷是否有讀權限
-w:判斷是否有寫權限
-x:判斷是否有執行權限
如果檔案不存在:! -f
if [ ! -f /tmp/filename ]
echo '不存在'
5、
if [ -z "$a" ]:表示當變量a的值為空時會怎樣
if [ -n "$a" ]:表示當變量a的值不為空時會怎樣
n=<code>cat /tmp/test.txt</code>
if [ -z $n ]
echo '為空'
else
echo '不為空'
6、
判斷某參數存在:
[root@localhost sbin]# vim if1.sh
if
grep -wq 'user1' /etc/passwd
echo "user1 exist."
[root@localhost sbin]# sh if1.sh
判斷某參數不存在:
[root@localhost sbin]# vim if2.sh
! grep -wq 'user1' /etc/passwd
echo "no user1"
[root@localhost sbin]# sh if2.sh
no user1
格式:
case 變量名 in
value1)
commond1
;;
value2)
commod2
value3)
commod3
esac
在case中,可以在條件中使用“|”,表示或的意思,如:
2|3)
commond
<code>esac</code>
<code></code>
<code><b>本文轉自方向對了,就不怕路遠了!51CTO部落格,原文連結: </b></code><b>http://blog.51cto.com/jacksoner/2045021</b><b>,如需轉載請自行聯系原作者</b>