`
dengwenwei121
  • 浏览: 38441 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

Shell 函数

 
阅读更多

函数允许您对分解成更小的,逻辑子部分,然后可以被要求执行各项任务时,它需要一个脚本的整体功能。

使用函数来执行重复性的任务,是一个很好的方式来创建代码的重用。代码重用是现代面向对象编程的原则的重要组成部分。

Shell函数是类似于其他编程语言中的子程序,过程和函数。

创建函数:

声明一个函数,只需使用以下语法:

function_name () { 
   list of commands
}

函数名 function_name,这就是你将使用它从其他地方在你的脚本调用。函数名必须遵循括号内,后括号内的命令的列表。

例如:

以下是使用函数简单的例子:

#!/bin/sh

# Define your function here
Hello () {
   echo "Hello World"
}

# Invoke your function
Hello

当你想执行上面的脚本,它会产生以下结果:

$./test.sh
Hello World
$

参数传递给函数:

你可以定义一个函数,它接受参数,而调用这些函数。将这些参数代表$1,$2,依此类推。

以下是一个例子,我们传递两个参数Zara和Ali,然后我们捕获和打印这些参数函数。

#!/bin/sh

# Define your function here
Hello () {
   echo "Hello World $1 $2"
}

# Invoke your function
Hello Zara Ali

这将产生以下结果:

$./test.sh
Hello World Zara Ali
$

从函数的返回值:

如果你执行一个exit命令从一个函数内部,其效果不仅是终止执行的功能,而且Shell 程序中调用该函数。

如果你不是想,只是终止执行该函数,再有就是退出来的一个定义的函数。

根据实际情况,你可以从你的函数返回任何值,使用返回的命令,其语法如下:

return code

这里的代码可以是任何你选择这里,但很明显,你应该选择你的脚本作为一个整体的背景下是有意义的或有用的东西。

例子:

下面的函数返回一个值1:

#!/bin/sh

# Define your function here
Hello () {
   echo "Hello World $1 $2"
   return 10
}

# Invoke your function
Hello Zara Ali

# Capture value returnd by last command
ret=$?

echo "Return value is $ret"

这将产生以下结果:

$./test.sh
Hello World Zara Ali
Return value is 10
$

嵌套函数:

函数更有趣的功能之一是,他们可以调用本身以及调用其他函数。被称为递归函数调用自身的函数。

经过简单的例子演示了一个嵌套的两个函数:

#!/bin/sh

# Calling one function from another
number_one () {
   echo "This is the first function speaking..."
   number_two
}

number_two () {
   echo "This is now the second function speaking..."
}

# Calling function one.
number_one

这将产生以下结果:

This is the first function speaking...
This is now the second function speaking...

从提示的函数调用:

你可以把常用功能.profile的定义,这样他们就会每当登录,在命令提示符下,您可以使用它们。

或者,你可以在一个文件中的定义分组为 test.sh,然后通过键入当前shell中执行该文件:

$. test.sh

这样做的效果造成任何test.sh内定义的函数,可以阅读在如下定义为当前shell:

$ number_one
This is the first function speaking...
This is now the second function speaking...
$

要删除从 shell 函数的定义,可以使用unset命令 .f 选项。这是相同的命令来删除一个变量的定义Shell。

$unset .f function_name


分享到:
评论

相关推荐

    VBA编程:Shell函数命令大全

    shell编程与普通的编程语言相比,shell编程可以用来执行一些流程调度以及任务量比较轻的处理流程的处理工具--因为毕竟是系统命令的整合调用,处理的时候,都会产生系统调用,在处理任务量大且比较复杂的流程的任务时...

    shell 函数

    ### Shell函数:深入理解与应用 在Shell编程中,函数是一种强大的工具,它允许程序员将一系列命令封装起来,实现代码的复用、模块化以及更高级的控制结构。本文将详细解析Shell函数的基础概念、创建方法、参数传递...

    shell编程 创建shell脚本 shell 基础语法 shell流程控制语法 shell函数

    下面将详细介绍创建 Shell 脚本、Shell 基础语法、流程控制语法以及如何定义和使用 Shell 函数。 首先,让我们理解一下 Shell 编程的基础。Shell 是操作系统提供的一种命令解释器,用户通过 Shell 与操作系统进行...

    vb SHELL函数实例

    在VB6.0版本中,SHELL函数是一个非常重要的功能,它允许我们从Visual Basic程序中调用外部应用程序,执行命令行操作或者打开特定的文件。这个实例可能涉及到如何使用SHELL函数来实现串口通信。 串口通信是计算机...

    linux运维学习笔记:Shell函数.pdf

    Shell函数是Linux系统中shell脚本编程的一个重要特性,它允许用户将一段可复用的代码封装成一个函数,通过一个名称来调用执行。Shell函数类似于其他编程语言中的函数,但它们在shell脚本执行时才被解释器解释,而...

    VB中shell函数实例——大学生最需要的七类网站

    在VB(Visual Basic)编程语言中,Shell函数是一个非常实用的命令,用于执行操作系统命令或者启动应用程序。在本文中,我们将深入探讨VB中Shell函数的使用,并结合大学生可能需要的七类网站,来阐述如何利用Shell...

    Shell函数相关知识

    Shell函数是Shell编程中的核心元素,它允许我们将一系列命令组织在一起,形成可重用的代码块,从而提高脚本的可读性和效率。在Shell中,主要有三种方式来定义函数: 1. **不带`function`关键字的函数定义**: 这是...

    linux 中shell函数

    在Linux系统中,Shell脚本是用户与操作系统交互的重要方式,而Shell函数是编写复杂脚本时不可或缺的构造块。本文将深入探讨如何在Shell中定义、调用和使用函数,以及函数参数的传递和跨文件调用。 一、无参函数的...

    linux-shell的函数式编程工具

    通过熟练掌握这些Shell函数式编程技巧,你将能够编写出更加高效、可维护的脚本,从而提升Linux系统的自动化和管理效率。记住,实践是检验真理的唯一标准,多动手编写和调试Shell脚本,才能真正领会其精髓。

    Excel-VBA宏编程实例源代码-以Shell函数启动bat文件并执行Dir命令.zip

    这个“Excel-VBA宏编程实例源代码-以Shell函数启动bat文件并执行Dir命令.zip”是一个示例,它展示了如何利用VBA宏来调用系统外壳(Shell)函数,进而启动一个批处理(bat)文件,并执行内部的`dir`命令。接下来,...

    linux-一组Kubernetes原生dabbling的shell函数集合

    标题中的“Linux-一组Kubernetes原生dabbling的shell函数集合”暗示了这是一个关于Linux系统和Kubernetes集群管理的实用工具集。这些shell函数旨在简化与Kubernetes交互的日常任务,提供便捷的命令行接口,提高开发...

    Excel-VBA宏编程实例源代码-以Shell函数启动邮件软件并发送电子邮件.zip

    这个“Excel-VBA宏编程实例源代码-以Shell函数启动邮件软件并发送电子邮件.zip”文件包含了一个实用的VBA宏示例,它利用了Windows操作系统中的Shell函数来启动邮件客户端并自动发送电子邮件。下面我们将详细讨论这个...

    ListView以及Windows的Shell函数显示Windows的程序组

    在Windows编程领域,ListView控件和Shell函数是两个重要的组件,尤其在管理和显示系统资源时。本篇文章将探讨如何利用这两个工具来展示Windows的程序组,同时也会涉及到VB(Visual Basic)网络编程的基础,包括...

    Linux中的shell函数

    Linux中的shell函数Linux中的shell函数

    linux-composure撰写文档版本和组织您的shell函数

    `composure`是一个专为撰写、文档化、版本控制以及组织shell函数而设计的工具,旨在提升shell脚本的可读性和可维护性。 在`composure`中,您可以将每个函数定义为独立的模块,这样可以更清晰地划分功能,减少代码...

    day5shell函数和数组shell编程.txt

    day5shell函数和数组shell编程.txt

    Linux shell 函数

    其中,Shell函数是提高脚本效率和可复用性的重要特性。本文将深入探讨Linux Shell函数的概念、创建、调用以及其在日常系统管理中的应用。 ### 1. Shell函数基础 Shell函数类似于其他编程语言中的函数,它是一段可...

    Shell函数的7种用法介绍

    Shell函数是Shell脚本编程中的重要组成部分,它们允许我们将常用的操作封装起来,提高代码的可读性和重用性。下面将详细介绍7种Shell函数的用法。 1. **在shell文件内部定义函数并引用** 在Shell脚本中定义函数很...

    VBShell函数用法参照.pdf

    VBShell函数用法参照.pdf

Global site tag (gtag.js) - Google Analytics