源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Shell脚本函数定义和函数参数

  • 时间:2020-12-24 04:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Shell脚本函数定义和函数参数
[b]一、Shell函数[/b] 本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。 shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数。 shell中函数的定义格式如下:
[u]复制代码[/u] 代码如下:
函数名(){     command1     command2     ...     commandN     [ return value ] }
如果愿意,可在函数名前加上关键字function,这取决于使用者。
[u]复制代码[/u] 代码如下:
function 函数名(){     command1     command2     ...     commandN     [ return value ] }
函数返回值,可以显示增加return语句;如果不加,则将最后一条命令运行结果作为返回值(一般为0,如果执行失败则返回错误代码)。 return后跟数值(0-255)。 函数可以放在同一个文件中作为一段代码,也可以放在只包含函数的单独文件中。函数不必包含很多语句或命令,甚至可以只包含一个echo语句,这取决于使用者。 下面的例子定义了一个函数并进行调用:
[u]复制代码[/u] 代码如下:
#!/bin/bash demoFun(){     echo "This is your first shell function!" } echo "Function begin..." hello echo "Function end!"
输出: Function begin... This is your first shell function! Function end! 下面定义一个带有return语句的函数:
[u]复制代码[/u] 代码如下:
#!/bin/bash funWithReturn(){     echo "The function is to get the sum of two numbers..."     echo -n "Input first number: "     read aNum     echo -n "Input another number: "     read anotherNum     echo "The two numbers are $aNum and $anotherNum !"     return $(($aNum+$anotherNum)) } funWithReturn echo "The sum of two numbers is $? !"
输出类似下面: The function is to get the sum of two numbers... Input first number: 25 Input another number: 50 The two numbers are 25 and 50 ! The sum of two numbers is 75 ! 函数返回值在调用该函数后通过 $? 来获得。 注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。 [b]二、Shell函数参数[/b] 在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数... 带参数的函数示例:
[u]复制代码[/u] 代码如下:
#!/bin/bash funWithParam(){     echo "The value of the first parameter is $1 !"     echo "The value of the second parameter is $2 !"     echo "The value of the tenth parameter is $10 !"     echo "The value of the tenth parameter is ${10} !"     echo "The value of the eleventh parameter is ${11} !"     echo "The amount of the parameters is $# !"     echo "The string of the parameters is $* !" } funWithParam 1 2 3 4 5 6 7 8 9 34 73
输出: The value of the first parameter is 1 ! The value of the second parameter is 2 ! The value of the tenth parameter is 10 ! The value of the tenth parameter is 34 ! The value of the eleventh parameter is 73 ! The amount of the parameters is 12 ! The string of the parameters is 1 2 3 4 5 6 7 8 9 34 73 !" 注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。 另外,还有几个特殊字符用来处理参数:
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部