linux shell 編程流程控制:if else
shell程序中的條件分支是通過if條件語句來實現的,其一般格式爲:
if 條件命令串
then
條件爲真時的命令串
else
條件爲假時的命令串
fi
大多數情況下,可以使用測試命令來對條件進行測試,比如可以比較字符串、判斷文件是否存在及是否可讀等等……通常用" [ ] "來表示條件測試,注意這裏的空格很重要,要確保方括號前後的空格。
[ -f "somefile" ] :判斷是否是一個文件
[ -x "/bin/ls" ] :判斷/bin/ls是否存在並有可執行權限
[ -n "$var" ] :判斷$var變量是否有值
[ "$a" = "$b" ] :判斷$a和$b是否相等
執行man test可以查看所有測試表達式可以比較和判斷的類型。下面是一個簡單的if語句:
#!/bin/sh
if [ ${SHELL} = "/bin/bash" ]; then
echo "your login shell is the bash (bourne again shell)"
else
echo "your login shell is not bash but ${SHELL}"
fi
變量$SHELL包含有登錄shell的名稱,我們拿它和/bin/bash進行比較以判斷當前使用的shell是否爲bash。
轉自:http://c.biancheng.net/cpp/html/1501.html