shell学习之创建函数

函数是一个脚本代码块,你可以为其命名并在代码中任何位置重用。

在bash shell脚本中创建函数基本使用如下两种方式,第二种格式更接近于其他编程语言中定义函数的方式。

function name {commands} 或者name() { commands }

简单写一个demo

e3f696b9427bc22f3d4b95e5fcf47982001.jpg

输出:

f9df55f1d5f1421785746b0efd760956253.jpg

当然我们在使用函数的时候希望有返回值,在之前的学习中,已经知道,函数执行完会返回默认的值,成功则返回0,那么我们如果想返回自己的定义码可以用return,return命令来退出函数并返回特定的退出状态码。

4767345c12fa2d762ac24fef89499ad44af.jpg

执行结果:

88928d8d1fe74b88ca73f5d56a96bb2dc48.jpg

正如可以将命令的输出保存到shell变量中一样,你也可以对函数的输出采用同样的处理办法。可以用这种技术来获得任何类型的函数输出,并将其保存到变量中。

02a6a5d77f1321bfb2090372b3e232f05b2.jpg

执行输出:

078887285587d0318a687b60ad47b4b0dbc.jpg

函数会用echo语句来显示计算的结果。该脚本会获取myfunc2函数的输出,而不是查看退出状态码。

函数可以使用标准的参数环境变量来表示命令行上传给函数的参数。例如,函数名会在$0 变量中定义,函数命令行上的任何参数都会通过$1、$2等定义

d9131b493f66314428a1639a434221924b3.jpg

执行输出:

0e74e5be26d1df2ae68791ffdef12bcaa35.jpg

默认情况下,你在脚本中定义的任何变量都是全局变量。在函数外定义的变量可在函数内正常访问。

无需在函数中使用全局变量,函数内部使用的任何变量都可以被声明成局部变量。要实现这 一点,只要在变量声明的前面加上local关键字就可以了

转载于:https://my.oschina.net/u/2277632/blog/2250277

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值