1. 程式人生 > >shell指令碼引數傳遞和main函式引數傳遞方式類似

shell指令碼引數傳遞和main函式引數傳遞方式類似

shell指令碼 test.sh呼叫的時候傳入引數,param1,param2:

#test.sh param1 param2

那麼在指令碼內部相當於把 test.sh param1 param2 看成三個引數出入,所以引數0為$0 (test.sh),引數1為$1 (parm1),引數2為$2 (parm2),也就是把指令碼自己的名稱看成引數0,引數個數$#還是2,而不是3,這個要注意。

這種呼叫方式有點想main函式在引數傳入的時候把arg[0],看成可執行檔案本身,引數1才是arg[1]........,原理上是相同的。