Shell參數判斷

Linux Bash Shell中傳入參數常用的代表符號有:
  • $# :代表後接的參數『個數』,以上表為例這裡顯示為『 4 』;
  • $@ :代表『 "$1" "$2" "$3" "$4" 』之意,每個變數是獨立的(用雙引號括起來);
  • $* :代表『 "$1c$2c$3c$4" 』,其中 c 為分隔字元,預設為空白鍵, 所以本例中代表『 "$1 $2 $3 $4" 』之意。
而當程式中需要判斷某個參數是否有傳入時可用 -z 來判斷,記得在判斷符號( [ ] )中,"$1"需要用雙引號括起來:

#!/bin/bash
if [ -z "$1" ] ; then
  echo Please use: ./stop_cnode.sh [Your Reason]
else
  curl http://211.78.255.1:3000/cnodeServer/stop/$1 -X POST
fi

當然,如果是要判斷是否有引數傳入(有/沒有)時候
可以使用 $# == 0 與否來判斷