0. shell的文件級和函數中定義的變量默認都是全局變量, 這點和python不同, 如需在函數中定義
局部變量, 需在定義時使用local才可.
1. 函數基本結構:
方法一: function_name () { shell 語法實現的功能 }
方法二: function name { shell 語法實現的功能 }
2. shell中的函數沒有形參的概念, shell中也沒有行分隔符;
3. 函數的調用直接使用函數名, 不加括號;
4. 函數雖沒有參數, 但函數體中可以使用$number的形式從函數調用處按照位置接受傳入的數據,如下
function_name () { shell 引用$!和$2的場景 } # 調用 function_name 10 20
function_name () { shell 引用$num的場景 } # 調用前定義num變量, 再調用函數function_name
function_name () { shell 引用$!和$2的場景 } # 調用 function_name $1 $2, 此時可接受shell窗口中執行該函數文件時后面加的參數
循環賦值補充: num=$(($num * $i))
5. 函數的返回值: (shell中return默認是數字, 且不能超過255, 超過會報錯)
函數的返回值可使用$?來接受
6. 函數返回任意想返回的內容
7. 函數傳遞數組參數示例:
shell的函數中如何返回數組呢?
在函數中先組建好要返回的數組, 使用echo "${array[*]}" 在調用函數處使用個變量接受即可. return_array=~function patameter~