shell函数

2021/12/2 7:08:26

本文主要是介绍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,函数还是脚本都适用



这篇关于shell函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程