Shell之function函数的定义及调用示例

目录
  • function函数的定义及调用
  • function函数的定义
  • function函数的调用【位置传参】
  • 函数使用return返回值【位置传参】
  • 函数的调用【数组传参】

function函数的定义及调用

将一些相对独立的代码变成函数,可以提高程序的可读性和重用性。避免重复编写大量相同的代码

function函数的定义

方法一:

function_name ()
{
    statement1
    statement2
    ....
    statementn
}

方法二:

function function_name()
{
   statement1
   statement2
   ....
   statementn
}

function函数的调用【位置传参】

#!/usr/bash/env bash
#!/bin/bash
#解释器选第一个或第二个
factorial() {
value=1
for((i=1;i<=$1;i++))
do
#       value=$[$value * $i]
#       value=$(($value*$i))  等价于   value=$(($value * $i))
        let value*=$i       #等价于  let value=$value*$i  不等价于 let value=$value * $i
done
echo "$1的阶乘是: $value"

}

#调用函数并传参
factorial $1

//测试传参
[root@mysql-master /soft/scripts]# sh function1.sh 5
5的阶乘是: 120
[root@mysql-master /soft/scripts]# 

函数使用return返回值【位置传参】

在Shell中,return语句只能返回某个0-255之间的整数值,如果超出这个范围就会返回错误的结果。在Shell中还有一种更优雅的方法帮助用户来获得函数执行后的某个结果,那就是使用echo,例如上例。

#! /bin/bash

function sum()
{
  returnValue=$(( $1 + $2 ))
  return $Value
}

sum 16 4

echo $?

//测试
[root@mysql-master /soft/scripts]# sh sum.sh 
20

//用echo返回不在0-255范围的结果
#! /bin/bash

function length()
{
  str=$1
  result=0
  if [ "$str" != "" ] ; then
      result=${#str}
  fi
  echo "$result"
}

len=`length "abc123"`

echo "The string's length is $len "

//测试
[root@mysql-master /soft/scripts]# sh length.sh  
The string's length is 6 

函数的调用【数组传参】

#!/bin/bash
#数组num
num=(1 2 3 4 5 6)

array() {
        local value=1       #加local表示value是局部参数,不影响函数外的同名参数
        for i in $@         #所有的参数{1..6}
        do
                let value*=$i
        done
        echo "$value"
}

array ${num[@]}

//测试
[root@mysql-master /soft/scripts]# sh function2.sh 
720

####传入数组参数,输出数组参数####
#!/bin/bash
num=(1 2 3)
num2=(3 4 5)

array() {
        local newarr=($@)
        for((i=0;i<$#;i++))   #或者写成for i in $@;do;outarr[j++]=$[$i*3];done
        do
                outarr[$i]=$(( ${newarr[$i]} * 3 ))
        done
        echo "${outarr[@]}"
}

reslut=`array ${num[*]}`
echo $reslut

reslut2=`array ${num2[*]}`
echo $reslut2

//测试
[root@mysql-master /soft/scripts]# sh  function3.sh 
3 6 9
9 12 15

到此这篇关于Shell之function函数的定义及调用示例的文章就介绍到这了,更多相关Shell function函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PowerShell中简单的自定义函数和调用函数例子

    在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数? 在PowerShell中,我们可以使用函数(function)来简化编程开发.在PowerShell中使用function这个关键词来标识一个函数.一个自定义的函数,由function关键词开始,然后用一对大括号来包括起整个函数体的内容. 我们先来看一下简单的PowerShell函数: 复制代码 代码如下: function Test-Function {     Write-Ho

  • shell自定义函数及参数调用解析

    一.定义函数 复制代码 代码如下: function fname(){statements;} 或 复制代码 代码如下: fname(){statements;} 二.调用函数 只需要使用函数名,即可调用某个函数:$ fname ; #执行函数 可以传递参数给函数,并由脚本进行访问:fname arg1 arg2; # 传递参数 以下是函数fname的定义.在函数fname中,包含了各种访问函数参数的方法. 复制代码 代码如下: fname(){  echo $1, $2; # 访问参数1和参数

  • shell函数内调用另一个函数(不带返回值和带返回值)

    目录 一.函数B调用不带返回值的函数A 二.函数B调用带返回值的函数A,并接收函数A的返回值进行输出 一.函数B调用不带返回值的函数A 新建文件,命名为 test.sh,添加如下代码: #!/bin/bash # 即将被调用的函数A function A(){ a="aaa" echo $a } # 函数B,直接调用A function B(){ A echo "bbb" } B 命令行中通过sh test.sh执行结果: 二.函数B调用带返回值的函数A,并接收函数

  • 详解shell 函数定义与调用

    一.Shell函数定义格式 shell函数定义格式,各部分说明如下: [ function ]等中括号括起来部分----表示可选(即可有可无) your_function_name部分----为函数名 your_shell_commands部分----为函数代码:shell一般以行为单位,但可以使用"\"换行,也可以在单行内使用";"作为分隔符 return int部分----shell函数可以有返回值,但只能返回整数不能返回字符串 [ function ] you

  • vbs 中调用shell.application 简单函数

    Set os=CreateObject("wscript.shell") Set os0=CreateObject("shell.application") Do  input1=InputBox(" 请选择:"+chr(13)+chr(13)+ _         "1. 全部窗口最小化"+chr(13)+ _          "2. 窗口状态复原"+chr(13)+ _          "

  • Shell之function函数的定义及调用示例

    目录 function函数的定义及调用 function函数的定义 function函数的调用[位置传参] 函数使用return返回值[位置传参] 函数的调用[数组传参] function函数的定义及调用 将一些相对独立的代码变成函数,可以提高程序的可读性和重用性.避免重复编写大量相同的代码 function函数的定义 方法一: function_name () { statement1 statement2 .... statementn } 方法二: function function_na

  • JS函数的定义与调用方法推荐

    JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1. 方法调用模式: 先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject对象. var blogInfo={ blogId:123, blogName:"werwr", showBlog:function(){alert(this.blogId);} }; blogInfo.showBlog(); 2. 函数调用

  • ES6中箭头函数的定义与调用方式详解

    本文主要介绍的是关于ES6箭头函数的定义与调用方式的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 基本用法: ES6中允许使用"箭头"(=>)定义函数 var f = v => v; 上面代码相当于: var f = function( v ) { return v; } 根据箭头函数有参数和无参数来区分 1.无参数的箭头函数 var f = () => 5; 等同于 var f = function() { return 5}; 2.有参数的箭头函数 v

  • JavaScript进阶教程之函数的定义、调用及this指向问题详解

    目录 前言 一:函数的定义 1.1 命名函数 1.2 匿名函数 1.3 利用 new Function() 声明函数 1.4 重要结论 二:函数的调用 2.1 普通函数调用 2.2 立即执行函数调用 2.3 对象内方法调用 2.4 构造函数调用 2.5 事件函数的调用 2.6 定时器函数的调用 三:各类函数的内部this指向问题 总结 前言 这篇文章开始我们函数的进阶篇,和我们JavaScript基础学的函数有了很多拓展,这篇文章首先我们从函数的定义,调用,及其 this指向 来一个总结. 一:

  • 浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用'' 函数: 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试和修复都将更容易 1.定义函数 def

  • Python中函数的定义及其调用

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用 函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用'' 函数: 函数是带名字的代码块,用于完成具体的工作需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试 和 修复都将更容易 1.定义函数 d

  • JS函数基本定义与用法示例

    本文实例讲述了JS函数基本定义与用法.分享给大家供大家参考,具体如下: <html> <head> <title>js函数</title> <meta charset="UTF-8"/> <script type="text/javascript"> // 三种函数的声明方法 // function test1(a1,a2){ // console.log("函数声明的第一种方法&qu

  • Python基础之函数的定义与使用示例

    本文实例讲述了Python基础之函数的定义与使用.分享给大家供大家参考,具体如下: Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表):     函数体 让我们使用函数来输出"Hello World!": >>> def hello() : print("Hello World!") >>> hello() Hello World! >>> 更复杂点的应用,函数中带上参数变量:

  • python基础之函数的定义和调用

    # 第一题 # 写函数,接受n个数字,求这些参数数字的和 def sumFunc(*args): # 处理接受的数据 result=0 for item in args: result+=item pass return result pass # 调用 rs=sumFunc(1,2,3,4) print('rs={}'.format(rs)) #填坑法 format格式化输出 # 写函数找出传入的列表或元组的奇数位对应的元素,并返回一个新的列表 def processFunc(con): li

随机推荐