美文网首页Kali LinuxBashBash
Linux - Bash - Shell 函数

Linux - Bash - Shell 函数

作者: 廖马儿 | 来源:发表于2018-01-10 14:38 被阅读5次

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

Shell 函数

[ function ] funname [()]

{

    action;

    [return int;]

}

注意:
上面的function,和()可以都要也可以要一个,但是不能都不要。()可以与左边有空格,右边有空格,也可左右都有空格。

调用函数就是直接写函数名。

说明:

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

eg:

#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com

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

结果:

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

函数返回值在调用该函数后通过 $? 来获得。
注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。

函数参数

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
eg:

#!/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}来获取参数。
所以建议在字符串中,使用${x}来取值。

图片.png

相关文章

  • Linux - Bash - Shell 函数

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 Shell 函数 注意:上面的fu...

  • chapter 3.基本的bash shell命令

    基本的bash shell命令 启动shell 大多数Linux默认的shell都为GNU bash shell/...

  • shell & bash基础命令及巧用

    shell与bash脚本的区别shell是Linux基础命令解释器bash(Bourne Again shell)...

  • Bash

    主要概念 Linux默认的shell是bash Shell bash Shell 可以交互使用,或者作为一种强大的...

  • Linux学习日记——BASH

    一、认识BASH BASH是目前Linux系统应用最多的shell,也是大多数Linux系统默认的shell. s...

  • bash 特性总结

    使用bash能更好的完成linux工作 CentOS 默认shell为bash,echo $SHELL获得当前系统...

  • Shell 的种类

    Linux中默认的Shell是/bin/bash,流行的Shell有ash、bash、ksh、csh、zsh等,不...

  • bash 脚本要点(shell)

    bash:Bourne Again shell,是 Linux 上的标配 shell;对于想学习 shell 的人...

  • shell变量

    bash 大多数Linux系统默认使用的shell,bash shell 是shell 的一个免费版本,它是最早的...

  • Linux之.bashrc 文件

    前言:Linux 系统中有很多shell,比如bash、sh、zsh等,虽然存在很多不同的shell,bash 却...

网友评论

    本文标题:Linux - Bash - Shell 函数

    本文链接:https://www.haomeiwen.com/subject/kljonxtx.html