小工匠

show me the code ,change the world

Shell 函数

语法

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。

shell中函数的定义格式如下:

[ function ] funname [()]

{

    action;

    [return int;]

}

说明:

  • 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数
  • 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255

不带return的栗子

下面的例子定义了一个函数并进行调用:

#!/bin/bash

demoFun(){
    echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun
echo "-----函数执行完毕-----"

输出结果:

-----函数开始执行-----
这是我的第一个 shell 函数!
-----函数执行完毕-----

带有return的栗子

下面定义一个带有return语句的函数:

#!/bin/bash

funWithReturn(){
    echo "这个函数会对输入的两个数字进行相加运算..."
    echo "输入第一个数字: "
    read aNum
    echo "输入第二个数字: "
    read anotherNum
    echo "两个数字分别为 $aNum$anotherNum !"
    return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为 $? !"

输出类似下面:

这个函数会对输入的两个数字进行相加运算...
输入第一个数字: 
1
输入第二个数字: 
2
两个数字分别为 12 !
输入的两个数字之和为 3 !

函数返回值在调用该函数后通过 $? 来获得。

注意:

  • 所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。
  • 调用函数仅使用其函数名即可。

函数参数

在Shell中,调用函数时可以向其传递参数。

在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数…
带参数的函数示例:

#!/bin/bash

funWithParam(){
    echo "第一个参数为 $1 !"
    echo "第二个参数为 $2 !"
    echo "第十个参数为 $10 !"
    echo "第十个参数为 ${10} !"
    echo "第十一个参数为 ${11} !"
    echo "参数总数有 $# 个!"
    echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73

输出结果:

第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !

注意,$10 不能获取第十个参数,获取第十个参数需要${10}

当n>=10时,需要使用${n}来获取参数。
另外,还有几个特殊字符用来处理参数:

这里写图片描述

阅读更多

扫码向博主提问

去开通我的Chat快问

yangshangwei

博客专家

show me the code
  • 擅长领域:
  • Java
  • Android
  • DataBase
  • OS
  • 开源软件
版权声明:【show me the code ,change the world】 https://blog.csdn.net/yangshangwei/article/details/52374195
文章标签: shell 函数 linux shell
个人分类: 【系统运维-Shell】
所属专栏: Linux-Shell手札
上一篇Shell 流程控制
下一篇Shell 输入/输出重定向
想对作者说点什么? 我来说一句

自学shell脚本

2013年03月08日 26KB 下载

shell 函数

2012年04月25日 1KB 下载

Linux shell编程

2012年09月30日 332KB 下载

linux shell 函数

2008年01月12日 1.08MB 下载

linux中Shell编程

2010年10月18日 22KB 下载

Linux shell 编程

2011年10月03日 327KB 下载

Unix Shell编程基础篇

2013年05月15日 1.73MB 下载

没有更多推荐了,返回首页

关闭
关闭