shell函数

函数

  • 函数的定义:FunctionName() {代码块} 或者 function FunctionName {代码块}

  • 函数的传参:

    • 位置传参:FunctionName $variable ,在函数内部使用参数是跟脚本一样的,$1,$2,$#,$*,$@ ,其含义相同(就相当于把函数看作一个脚本),注意区分函数里的这些符号是跟脚本的的符号表达的不是一个东西
    • 数组传参:FunctionName ${arrayname[@]},接受时可以用一下方式接受:newarray=($@) 或者 newarray=($*)
  • 函数的返回值

    • return 只能返回0~255的数,所以return可用性不强(未成功)
    • 使用echo
      返回变量值:echo $variable
      返回数组:echo ${array[@]}
    • 如果不用return和echo, 函数默认返回的时代码块最后一条命令的状态码
    • 函数外接受返回值:a=`FunctionName $variable`,或者 a=`FunctionName ${array[@]}`,变量,数组都是这么接收的
  • 函数内部的变量作用域

    • 函数内部变量默认时全局的,但在接收函数返回值时(a=`FunctionName $variable` ),函数在子shell中执行,所以调用不了
    • 使用local 声明变量为局部变量,即只在函数内部有效,如:local a

其他:for i in $@ 可以简写为for i,函数还是脚本都适用

上一篇:线性回归(Linear Regression with One Variable)


下一篇:Robot Framework关键字,变量,循环