在上一章只用過:

if [ condition ]; then
  ...
else
  ...
fi

這適合只有一個條件的情況,

但如果想檢查多個條件,就需要使用 elif(即「else if」)。


範例邏輯:計算活躍的網路介面數量

指令:

ip addr show

會列出所有網卡,包括 loopback (lo)。

只想算「活躍」的網卡數量,所以可以用:

ip addr show | grep -v loopback | grep -ic mtu

說明:


範例腳本:10_ifelif.sh

#!/bin/bash

value=`ip addr show | grep -v loopback | grep -ic mtu`

if [ $value -eq 1 ]
then
        echo "1 Active Network"
elif [ $value -gt 1 ]
then
        echo "Multiple found"
else
        echo "No FOUND"
fi

image.png