Linux Shell学习 之 /etc/init.d/functions 详解

本文最后更新于2017年10月28日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

简单学习一下Linux下原生的functions脚本提供的功能,可以为自己编写Bash脚本提供一些参考。

正文:

参考解答:

&

&

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/3648.html

《Linux Shell学习 之 /etc/init.d/functions 详解》上有1条评论

  1. Shell 函数式编程
    http://blog.xiayf.cn/2018/05/16/functional-shell-code/

    true_then_run() {
    condition=$1
    action=$2

    (${condition})
    if [ $? -eq 0 ]
    then
    (${action})
    else
    echo "'$1' is false, don't run '$2'"
    fi
    }

    false_then_run() {
    condition=$1
    action=$2

    (${condition})
    if [ $? -ne 0 ]
    then
    (${action})
    else
    echo "'$1' is true, don't run '$2'"
    fi
    }

    map() {
    for item in $2
    do
    ($1 ${item})
    done
    }

    reduce() {
    operator=$1
    #
    list=($2)
    list_len=${#list[@]}
    #
    result=""
    if [ ${list_len} -gt 0 ]
    then
    result=${list[0]}
    fi
    #
    if [ ${list_len} -gt 1 ]
    then
    for item in ${list[@]:1}
    do
    result=$(${operator} ${result} ${item})
    done
    fi
    echo ${result}
    }

    filter() {
    for item in $2
    do
    ($1 ${item})
    if [ $? -eq 0 ]
    then
    echo ${item}
    fi
    done
    }

    sum() {
    v=0
    for arg in "$@"
    do
    v=$(($v+${arg}))
    done
    echo $v
    }

发表评论

电子邮件地址不会被公开。 必填项已用*标注