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~