linux下條件判斷語句的格式如下:(ps:這裡需要特別注意的是,條件與「[」與「]」之間有空格,if與"["之間也需要空格)。
if [ condition1 ]
then
if [ condition2 ]
then
...else
...fi
command strings;
else
command strings;
fi
檔案的判斷的表示式:
if [ -parameter file ]
-r file 使用者可讀為真
-w file 使用者可寫為真
-x file 使用者可執行為真
-f file 檔案為正規檔案為真
-d file 檔案為目錄為真
-c file 檔案為字元特殊檔案為真
-b file 檔案為塊特殊檔案為真
-s file 檔案大小非0時為真
-t file 當檔案描述符(預設為1)指定的裝置為終端時為真
邏輯判斷的表示式為:
if [ $1 -parameter $2 ]
邏輯判斷引數含義:
-eq —比較兩個引數是否相等(例如,if [ 2 –eq 5 ])
-ne —比較兩個引數是否不相等
-lt —引數1是否小於引數2
-le —引數1是否小於等於引數2
-gt —引數1是否大於引數2
-ge —引數1是否大於等於引數2
下面舉例說明:
#!/bin/sh
time=`date -d yesterday +%y%m%d`
file="access_$time.log"
cd /data/nginx/logs
if [ -f "$file" ];then
echo "file ok"
else
echo "error $file" > error.log
mail -s "$file backup fail" [email protected]
shell要實現類似於c語言或者其他高階語言實現的算術運算,需要利用expr命令。下面以乙個指令碼說明:
#!/bin/bash
sum=0
for var
do if [ 'expr $var \>=0' =1 ]
then
echo -e "$var+\c"
sum='expr $sum + $var'
fidone
echo -e "\b=$sum"
這個指令碼實現的功能是,指令碼讀入引數,先判斷是否為數字,如果為數字則進行累加。
判斷檔案目錄存在的幾個語句:
# 這裡的-x 引數判斷$mypath是否存在並且是否具有可執行許可權
if [ ! -x "$mypath"]; then
mkdir "$mypath"
fi # 這裡的-d 引數判斷$mypath是否存在
if [ ! -d "$mypath"]; then
mkdir "$mypath"
fi # 這裡的-f引數判斷$myfile是否存在
if [ ! -f "$myfile" ]; then
touch "$myfile"
fi # 其他引數還有-n,-n是判斷乙個變數是否是否有值
if [ ! -n "$myvar" ]; then
echo "$myvar is empty"
exit 0
fi # 兩個變數判斷是否相等
if [ "$var1" = "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi判斷目錄是否為空:
dir="yourpath"
if [ -z "$dir"]
then
echo "empty!"
else
echo "file ok!"
fi
case語句判斷格式入下:
case $變數名 in
模式1)
命令序列1
;;模式2)
命令序列2
;; *)
預設執行的命令序列 ;;
esac
shell指令碼的條件判斷語句
條件判斷,顧名思義,就是對當前引數進行相關條件的比較,如果符合要求就進行相對應的操作,條件語句涉及到兩種語法,if和case,兩種語法都各具特色,我們可以通過例項來進行比較 if 判斷條件1 then 條件為真的分支 elif 判斷條件2 then 條件為真的分支 elif 判斷條件3 then 條...
shell指令碼程式設計之條件判斷
1 shell指令碼學習 2 比較兩個數字大小 2 linux 中清空或刪除大檔案內容的五種方法 3 shell 清空檔案內容 整數測試 字元測試 檔案測試1 expression 命令測試 2 expression 關鍵字測試 3 test expression eq 測試兩個整數是否相等 相等為...
Shell中的條件判斷語句if then fi
shell中的條件判斷語句是前面一篇 shell中的條件測試語句 的公升級篇,也就是說,前面的測試語句是為了現在的判斷語句if then fi語句服務的。我們還是按照注意點和 實現的方式鋪開 1 基本的if then fi語句可以用來判斷基本的單層的分支結構,其形式如下 其中if後面的測試語句一般都...