zoukankan      html  css  js  c++  java
  • shell中的函数及函数传参, 函数中的变量是全局的

    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~

  • 相关阅读:
    第七单元
    第六单元
    第五单元
    第四单元
    第三章
    第二单元
    第一单元
    单词
    机器学习和模式识别的区别
    TODO-项目
  • 原文地址:https://www.cnblogs.com/quzq/p/12093220.html
Copyright © 2011-2022 走看看