美文网首页ShellShell和命令
Bash编程007——函数(一)

Bash编程007——函数(一)

作者: 若梦儿 | 来源:发表于2018-12-29 20:56 被阅读2次

Bash编程007——函数(一)

使用函数可以对程序进行更好滴组织,将一些相对独立的代码变成函数,可以提高程序的可读性和重用性,避免重复编写大量相同的代码。

7.1 函数

7.1.1 函数定义

简单来说,函数就是将一组功能相对独立的代码集中起来,形成一个代码块,这个代码块可以完成某个具体地任务。本质上来说,函数是一个函数名到某个代码块的映射。当定义了函数之后,就可以通过函数名来调用其所对应的代码块。

对于shell函数而言,函数与shell脚本并没有明显的区别,shell脚本中可以使用的命令和语句,都可以在函数中使用。但是,在执行时,函数和脚本还是有着本质上的区别。shell脚本在执行时,会创建一个新的shell进程来解释执行脚本中的代码,脚本执行完成,shell进程就会结束;而函数在执行时,系统并不会为其单独创建一个进程,而是在调用者的进程中直接解释执行函数中的代码。

7.1.2 基本语法

函数基本语法:

function name (){
    commands;
}
// 或者可以省略function
name () {
    commands;
}

函数名的命名规则和变量的命名规则相同,由数字、字母或下划线组成且以字母或下划线开头的字符串。

示例:

function Hello(){
    echo "Hello world"
}
# 执行
Hello
# 结果:Hello world

7.1.3 传递参数

当某个函数定义之后,用户就可以通过函数名来调用该函数。调用函数的基本语法如下:

func argv1 argv2 ...    

其中func表示函数名,argv1、argv2等表示传递给函数的参数

在函数中可以通过一些特殊的变量来访问传递过来的参数:

n,表示传递给函数的第n个参数,\1表示第一个参数等

S#,表示传递参数的总个数

$*,表示以"argv1 argv2 ..."的形式返回所有参数的值

S@,表示以"argv1" "argv2" ...的形式返回所有参数的值

示例:

function hi() {
    echo $#
    echo $*
}
# 执行:hi 1 2 3 4 5 6
# 结果:
6
1 2 3 4 5 6

7.1.4 函数返回值

在shell中,处理函数的返回值可以分为以下几种情况来讨论。

使用return语句返回某个数值,但是只能返回0~255之前的整数值。

将返回的数据输出到标准输出,比如使用echo命令。

示例:

function getStr() {
    echo "hello"
}
# 使用:
str=$(getStr)
echo $str
# 结果:hello

相关文章

  • Bash编程007——函数(一)

    Bash编程007——函数(一) 使用函数可以对程序进行更好滴组织,将一些相对独立的代码变成函数,可以提高程序的可...

  • Bash编程008——函数(二)

    Bash编程008——函数(二) 8.1 函数库文件 为了方便地重用函数功能,可以创建函数库文件,保存常用的函数。...

  • shell函数定义和引用

    shell脚本中函数的定义和使用 Bash(Bourne Again shell)跟其他编程语言一样也支持函数,一...

  • Bash脚本编程之函数

    一、什么是函数 函数是将一段代码作为一个具有独立功能的整体,并为该代码段赋予一个函数名。函数名可以出现在在脚本中的...

  • bash函数内判断命令执行结果并返回

    bash函数内判断命令执行结果并返回 需求背景 在bash编程中,经常会需要执行对命令的结果判断,如果正确继续执行...

  • bash高级进程

    bash脚本编程: 函数:结构化编程及代码重用function 选择执行: 多分支 逐条件进行判断,第一次遇为“真...

  • 4.函数的定义、执行、传参和递归函数

    Bash(Bourne Again shell)也跟其他编程语言一样也支持函数,一般在编写大型脚本中需要用到,它可...

  • Bash编程

    资料 ABS:http://www.tldp.org/LDP/abs/html在线 Bash 手册页:https:...

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

  • 函数@bash

    复用,复用,复用:经济又安全 介绍 shell中的函数(function)是指命令序列(定义),可引用或重用(语用...

网友评论

    本文标题:Bash编程007——函数(一)

    本文链接:https://www.haomeiwen.com/subject/oxzplqtx.html