函數
創建函數#
或者
函數返回值#
返回值有多種形式。
使用 $?#
表示函數最後一條命令的退出狀態碼。
使用 return#
本質係退出狀態碼,範圍 [0, 255],超出會對 256 取模。
使用標準輸出#
result
會保存函數中所有的標準輸出。
函數傳參#
函數入面嘅 $#
、$1
同外層嘅參數相互獨立。
變量的作用域#
函數外定義#
邊度都可以訪問。
函數內定義#
使用 local#
local
變量只喺函數內部生效,同外部重名變量相互獨立。
變量是否被定義#
可以使用參數展開的 + 標記。
函數是否被定義#
後面定義的同名函數會覆蓋前面定義同名函數,所以喺定義函數之前,可以先判斷一下。
例如把函數寫喺 .bashrc 文件。
函數已定義,退出碼為 0,未定義,退出碼為 1。