if條件語句的使用格式: 1、單分支語句 註意:[ 條件 ] :條件與中括弧要用空格分割;下麵的語句同理。 2、雙分支語句 3、多分支語句 退出碼: exit 在某些條件判斷下,如果不滿足該條件,我們必須手動退出程式,否則後面的代碼無法執行; 代碼正確執行完成後,指定 exit 0 為正確退出碼; ...
if條件語句的使用格式:
1、單分支語句
if [ 條件 ];then 執行語句 fi
註意:[ 條件 ] :條件與中括弧要用空格分割;下麵的語句同理。
2、雙分支語句
if [ 條件 ];then 執行語句1 else 執行語句2 fi
3、多分支語句
if [ 條件 ];then 執行語句1 elif;then 執行語句2 elif;then 執行語句3 else 執行語句4 fi
退出碼: exit
在某些條件判斷下,如果不滿足該條件,我們必須手動退出程式,否則後面的代碼無法執行;
代碼正確執行完成後,指定 exit 0 為正確退出碼;
代碼執行錯誤時,指定 exit 0-255 之間任意一個數值表示錯誤退出。
練習:
1、給定一個文件,如果是普通文件,就顯示出來,如果是目錄文件,也顯示出來,否則就顯示“無法識別”
#!/bin/bash # read -t 5 -p ("請輸入一個文件:") filename # -t 等待時間5秒不輸入自動退出 if [ -n $filename ];then echo # 預設用來換行 echo "eg. /etc/fstab" exit 8 fi if [ -f $filename ]; then echo "$filename 是一個普通文件" exit 0 elif [ -d $filename ];then echo "$filename 是一個目錄文件" exit 0 else echo "無法識別" exit 1 fi
2、判斷當前系統上是否有用戶的預設shell程式是否為bash程式,如果有,就顯示有多少個這類用戶,否則就顯示沒有這類用戶;【並且顯示出那些用戶是bash】
#!/bin/bash # 判斷用戶的預設shell程式類型 declare -i sum=`grep "bin/bash$" /etc/passwd | wc -l` #定義一個數值型變數sum if grep "/bin/bash$" /etc/passwd &> /dev/null ; then echo "存在 $sum 個用戶,shell程式為/bin/bash" grep "/bin/bash$" /etc/passwd | cut -d: -f1 exit 0 else echo "沒有這類用戶" exit 1 fi
3、判斷某個文件是否存在
#!/bin/bash # 判斷文件是否存在 if [ $# -lt 1 ]; then echo "至少需要輸入一個傳參." exit 1 fi if [ -e $1 ];then echo "存在" else echo "不存在" fi