shell脚本日期函数_Linux系统shell脚本函数技巧,了解下,值得收藏

不定期分享linux系统、shell脚本相关文章,喜欢大叔的文章,请关注我。

前言

在使用Linux系统时,就需要学习shell脚本的编写,shell作为脚本语言学习起来相对比较简单,shell脚本支持自定义函数,可以让其他程序进行调用,今天给大家分享一些函数的使用技巧。

60b83f2c8e7edbb3a3cdd7e36b96b21c.png

shell脚本函数标题图

Linux系统相关信息

Linux系统版本: CentOS Linux release 7.6bash版本:GNU bash, version 4.2.46(2)-release

shell脚本函数相关技巧

  • 定义shell脚本函数

简单定义一个函数,可以通过source命令或者 【.】命令读入文件的所有语句,可以经定义的函数当作linux系统的命令直接使用,如下。

#!/bin/bashf () { echo $1 }
  • 向shell脚本函数传递数组

如果将数组变量当作成函数的参数,那么shell函数只会读取第一值,在函数内部是用$@内置变量,可以包含所有参数,同时将参数在赋值给新的数组变量。

#!/bin/bashTran_array () { local new_array new_array=($(echo $@)) echo "new array value is : ${new_array[*]}"}[root@api function]# test=(1 2 3 4 5)[root@api function]# Tran_array ${test[*]}new array value is : 1 2 3 4 5

在向函数传递参数时需要使用${array[*]},将数组的所有参数传递给函数。

  • 定义数组累计相加函数

我们在写shell脚本时,如果要经常计算一个数组内的所有数字相加的结果,那么可以定义一个函数来简化过程。

#!/bin/bashAdd_array () { local sum=0 local new_array new_array=($(echo "$@")) for v in ${new_array[*]} do sum=$[ $sum + $v ] done echo $sum}[root@api function]# . Function_set.sh [root@api function]# test=(1 2 3 4 5)[root@api function]# Add_array ${test[*]}15
  • 定义阶乘函数(理解函数递归)

函数间互相调用产生循环的递归调,需要依靠函数嵌套或者函数自我调用来实现,用阶乘就是1*2*3*...n,使用shell脚本定义阶乘递归函数,可以让我们很好理解函数的递归,对于递归理解起来需要逻辑思维,简单的说就是从将一个大的工作逐渐减少成一个小工作。

#!/bin/bashFactl () { [ $1 -eq 1 ] && echo 1 || { local tmp=$[ $1 -1 ] local ret=$(Factl $tmp) echo $[ $ret * $1 ] }}[root@api function]# . Function_set.sh [root@api function]# [root@api function]# Factl 5120[root@api function]# Factl 103628800

喜欢大叔文章的可以关注我哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值