shell中函数的使用

来源:互联网 发布:c语言三大应用领域 编辑:程序博客网 时间:2024/05/21 22:30

本文主要介绍在shell中,函数的使用。在shell中使用函数需要注意以下几点:

1、函数的定义

2、参数的传递

3、函数内变量的范围

4、函数返回

下面将分别进行介绍。

一、函数的定义

在shell中,函数的定义有两中:

1、形如:function functionName(){

....

}

2、形如:functionName(){

....

}

第二种其实也就是把第二种的function关键字去掉,两种形式都可以,很简单,不细说。

二、参数的传递

参数的传递在前面文章有详情介绍,在此也不细说,有需要的可以查看前文。

三、函数内变量的定义

这个在前文变量定义时,有详情说明,其实在函数体内,通常需要使用local关键字,对变量的范围进行限制,否则就是全局变量。

当然在函数返回值时,我们可以利用全局变量进行值传递。

四、函数的返回

1、直接退出shell

在函数体最后加 exit n,其中0<=n<=255,通常0表示成功,其实值表示失败,获取返回值用$?

2、返回数值

在函数体最后加 return n,其中0<=n<=255,获取返回值用$?

3、使用全局变量

在函数体中使用全局变量,对全局变量进行操作,间接获取返回值

4、使用标准输出echo

在函数体使用echo输出获取返回值,在调用时用$()或``,获取返回值

实例如下:

#! /usr/bin/env bash
add(){
    local sum
    let "sum=$1+$2"
    return $sum
    #exit 12
}
param1=13
param2=6
add $param1 $param2
sum=$?
echo "$param1+$param2=$sum"

helloResult=""
hello(){
    helloResult="hello,$1"
}
hello china
echo "result of invoking hello : $helloResult"

hello2(){
    local result=$1
    result="hello,$1"
    echo "$result"
}
resultHello2=$(hello2 apple)
echo "result of invoking hello2 : $resultHello2"

运行结果如下:

13+6=19
result of invoking hello : hello,china
result of invoking hello2 : hello,apple

原创粉丝点击