Shell之Function与Source

半腔热情 提交于 2020-04-27 06:33:03

Shell之Function与Source

<h6 style='text-align:right'>😄 Written by Zak Zhu </h6>

学习python风格, 优雅规范书写shell代码

[TOC]

参考

Fuction的编写

函数语法

定义格式:

[function] foo() {
    COMMANDS
    [return N]		# 返回码(N)的取值范围: 0~255
}

调用格式:

foo	[ARGS]

实例:

# Defined function
function hello() {
    echo "Hello World !"
}

# Invoke function
hello

1

函数传参

实例:

function two_num_sum() {
    let sum=$1+$2
    return ${sum}
}

read -p "Please input the first number: " arg1
read -p "Please input the second number: " arg2
two_num_sum ${arg1} ${arg2}
ret=$?
echo "The sum of two numbers is ${ret}"

2

Source的使用

和其他语言一样, Shell也可以包含外部脚本. 这样可以很方便的封装一些公用的代码作为一个独立的文件.

实例:

  • functions.sh文件:

    function hello() {
        echo "Hello World !"
    }
    
    function two_num_sum() {
        let sum=$1+$2
        return ${sum}
    }
    
  • bin.sh文件:

    #!/bin/bash
    
    #####################################
    # @Author: 
    # @Created Time: 2019-10-01 02:07:32
    # @Description: 
    #####################################
    
    
    source ./functions.sh
    
    hello
    
    read -p "Please input the first number: " arg1
    read -p "Please input the second number: " arg2
    two_num_sum ${arg1} ${arg2}
    ret=$?
    echo "The sum of two numbers is ${ret}"
    
    

执行bin.sh的结果:

3

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!