【Shell Script】if ... else 條件判斷式

Shell Script 的條件宣告是用 [] ,if 條件後面需接 then ,block 結束後接 fi


寫法大概長這樣

1
2
3
4
5
6
7
if [ 條件 ]; then
  # do something
elif [ 條件 ]; then
  # do something
else
  # do something
fi


是說在寫條件式的時候稍微卡了一下,習慣性比較時直接用了 ``==`

1
2
3
4
name="Cynthia" 
if [ "$name" == "Cynthia" ]; then
  # do something
fi

不過執行時一直跳出 [: Cynthia: unexpected operator,稍微 de 了一下 bug,後來才想到,我測試時是使用 sh run ,而 == 是 bash 的語法。所以要嘛改用 bash run,不然就把 **==** 改成 **=**

參考資料

  1. 第十二章、學習 Shell Scripts|鳥哥的 Linux 私房菜