`

Shell 函数

阅读更多

Shell 函数

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。

shell中函数的定义格式如下:

[function] funname [()]{

    action;
  
     [return int;]

}

说明:

  • 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
  • 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255

下面的例子定义了一个函数并进行调用:

#!/bin/bash
demoFun(){
    echo "This is your first shell function!"}
echo "Function begin..."
demoFun
echo "Function end!

输出结果:

Functionbegin...Thisis your first shell function!Functionend!

下面定义一个带有return语句的函数:

#!/bin/bash
funWithReturn(){
    echo "The function is to get the sum of two numbers..."
    echo -n "Input first number: "
    read aNum
    echo -n "Input another number: "
    read anotherNum
    echo "The two numbers are $aNum and $anotherNum !"return $(($aNum+$anotherNum))}
funWithReturn
echo "The sum of two numbers is $? !"

输出类似下面:

Thefunctionis to get the sum of two numbers...Input first number:25Input another number:50The two numbers are 25and50!The sum of two numbers is75!

函数返回值在调用该函数后通过 $? 来获得。

注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。


函数参数

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...

带参数的函数示例:

#!/bin/bash
funWithParam(){
    echo "The value of the first parameter is $1 !"
    echo "The value of the second parameter is $2 !"
    echo "The value of the tenth parameter is $10 !"
    echo "The value of the tenth parameter is ${10} !"
    echo "The value of the eleventh parameter is ${11} !"
    echo "The amount of the parameters is $# !"
    echo "The string of the parameters is $* !"}
funWithParam 1234567893473

输出结果:

The value of the first parameter is1!The value of the second parameter is2!The value of the tenth parameter is10!The value of the tenth parameter is34!The value of the eleventh parameter is73!The amount of the parameters is12!Thestring of the parameters is1234567893473!"

注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。

另外,还有几个特殊字符用来处理参数:

参数处理 说明
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数。
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

 

本文转自:http://www.w3cschool.cc/linux/linux-shell-func.html

分享到:
评论

相关推荐

    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