shell中的自定义函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/czh500/article/details/84786343

shell中的自定义函数

自定义函数

基本语法

[ function ] funname[()]
{

Action;
[return int;]
}

调用直接写函数名:funname [值]

注意:

1 函数体不能为空,函数体为空会报错,里面写一条语句,比如 echo "test" 就不会报错了

2 一般function关键字可省略,其实()小括号也可以省略,具体看下面的解释和说明。

以下3种形式都对,一定要注意空格,不注意空格的话,语法会报错,我之前就是没写空格,一直报错!

()和{}之间要写空格哦

function fname() { 程序段 }

function fname { 程序段 }

fname() { 程序段 }

以上3种语法都可以!记住:function和()可以省略,但是不能同时省略function关键字和()小括号,你至少要保留其中一个,或者把2个都保留也是可以的。

应用实例

案例 1:计算输入两个参数的和(read), getSum

记住:function和()可以省略,但是不能同时省略function关键字和()小括号,你至少要保留其中一个,或者把2个都保留也是可以的。

#!/bin/bash

#自定义函数
#案例 1:计算输入两个参数的和(read), getSum
function getSum() {
        MYSUM=$[$NUM1+$NUM2]
        echo "2个参数的和=$MYSUM"

}

#调用getSum函数
read -p "请您输入第一个数" NUM1
read -p "请您输入第二个数" NUM2
getSum $NUM1 $NUM2

#自定义函数还有如下这种语法,function关键字可以省略
        getSum2() {
                MYSUM2=$[$NUM3+$NUM4]
                echo "2个参数的和=$MYSUM2"
        }

#调用getSum2函数
read -p "请您输入第1个数" NUM3
read -p "请您输入第2个数" NUM4
getSum2 $NUM3 $NUM4

function getSum3() {
        MYSUM3=$[$NUM5+$NUM6]
        echo "2个参数的和=$MYSUM3"
        }
read -p "请您输入第1个数" NUM5
read -p "请您输入第1个数" NUM6
#调用getSum3函数
getSum3 $NUM5 $NUM6

#()小括号可以省略
function getSum4 {
        echo "我是getSum4函数"
        }
#调用getSum4函数
getSum4

#()小括号可以省略
function getSum5 {
        echo "我是getSum5函数"
        MYSUM5=$[$NUM7+$NUM8]
        echo "2个参数的和=$MYSUM5"
        }
read -p "请您输入第1个数" NUM7
read -p "请您输入第1个数" NUM8
#调用getSum5函数
getSum5 $NUM7 $NUM8

#()小括号可以省略
function myTest {
        TESTSUM=$[$1+$2]
        echo "命令行中的2个参数和=$TESTSUM"
        echo "命令行是$0"
}

#调用myTest函数
myTest $1 $2

function test2() {
    #注意:函数体不能为空,函数体为空会报错,所以为了防止报错,我就在函数体中,随便打印一句话吧
        echo "我是test2函数"
}
#调用test2函数
test2

猜你喜欢

转载自blog.csdn.net/czh500/article/details/84786343