`
tomhibolu
  • 浏览: 1431618 次
文章分类
社区版块
存档分类
最新评论

利用 function 功能

 
阅读更多

什么是『函数 (function)』功能啊?简单的说,其实, 函数可以在 shell script 当中做出一个类似自订运行命令的东西,最大的功能是,

可以简化我们很多的程序码~

function 的语法是这样的:

functionfname(){

程序段

}

那个 fname 就是我们的自订的运行命令名称~而程序段就是我们要他运行的内容了。要注意的是,因为 shell script 的运行方式是由上而下,由左而右 因此在 shell script 当中的 function 的配置一定要在程序的最前面, 这样才能够在运行时被找到可用的程序段喔!我们将之前的脚本改写成自订一个名为 printit 的函数来使用喔:

#!/bin/bash
#Use function to repeat information

function printit(){
echo -n "Your choice is :" #加上-n可以不断行继续在同一行显示
}

echo "This program will print your selcetion!"
case $1 in
"one")
printit;echo $1 | tr 'a-z' 'A-Z' #将参数做大小写替换
;;
"two")
printit;echo $1 | tr 'a-z' 'A-Z'
;;
"three")
printit;echo $1 | tr 'a-z' 'A-Z'
;;
*)
echo "Usage:$0 {one|two|three}"
;;
esac

我们来测试一下:

[oracle@99bill-as9 zy]$ sh function.sh oh
This program will print your selcetion!
Usage:function.sh {one|two|three}
[oracle@99bill-as9 zy]$ sh function.sh one
This program will print your selcetion!
Your choice is :ONE
[oracle@99bill-as9 zy]$ sh function.sh two
This program will print your selcetion!
Your choice is :TWO
[oracle@99bill-as9 zy]$ sh function.sh three
This program will print your selcetion!
Your choice is :THREE

另外, function 也是拥有内建变量的~他的内建变量与 shell script 很类似, 函数名称代表示 $0 ,而后续接的变量也是以 $1, $2... 来取代的~ 这里很容易搞错喔~因为『function fname() { 程序段 } 』内的 $0, $1... 等等与 shell script 的 $0 是不同的。以上面脚本来说,假如我下达:『 sh function.sh one 』 这表示在 shell script 内的 $1 为 "one" 这个字串。但是在 printit() 内的 $1 则与这个 one 无关。 我们将上面的例子再次的改写一下,让你更清楚!

#!/bin/bash
#Use function to repeat information.

function printit(){
echo "Your choice is $1"
}

case $1 in
"one")
printit 1
;;
"two")
printit 2
;;
"three")
printit 3
;;
*)
echo "Usage:$0 {one|two|three}"
;;
esac

测试结果:

[oracle@99bill-as9 zy]$ sh function2.sh
Usage:function2.sh {one|two|three}
[oracle@99bill-as9 zy]$ sh function2.sh one
Your choice is 1
[oracle@99bill-as9 zy]$ sh function2.sh two
Your choice is 2
[oracle@99bill-as9 zy]$ sh function2.sh three
Your choice is 3
[oracle@99bill-as9 zy]$

分享到:
评论

相关推荐

    FANUC FUNCTION BLOCK 功能编写

    利用Function Block功能,可以将这些通用的逻辑处理封装成独立的模块,从而大大简化了后续的程序编写工作。 **案例说明**: 1. **上升沿检测**:首先,需要编写一段用于检测按键上升沿的代码。 2. **异或逻辑处理*...

    Origin在物理化学实验数据处理中的应用.pdf

    例如,在电位-pH曲线测定实验中,如果已知HS的分压和浓度关系,可以利用Function功能求解对应的pH值,提高实验的精确度和效率。 Origin6.0不仅提供基本的数据分析和图形制作,还支持对图形的进一步修改和定制,如...

    MATLAB的S-Function教程

    使用C语言编写S-Function可以充分利用C语言的强大功能和高性能优势。 - **概述**:介绍使用C语言编写S-Function的一般流程。 - **创建CMEXS-Function**:使用C语言和MEX编译器创建S-Function。 - **自动生成S-...

    S-FUNCTION 编写指导

    S-Function可以用来创建复杂的模块,这些模块能够实现Simulink标准库中没有的功能。 #### 什么是S-Function S-Function是一种高级接口,它允许用户用编程的方式定义模块的行为。S-Function可以使用多种编程语言...

    《MATLAB的S-Function编写指导》_matble_S-function_

    总的来说,MATLAB的S-Function是实现高级Simulink仿真功能的强大工具,尤其适用于需要定制仿真行为或优化性能的情况。通过学习和实践,开发者能够充分利用这一特性,提升MATLAB仿真工作的灵活性和效率。

    s-function函数,s-function函数定义放置错误,matlab源码.zip

    在MATLAB环境中,S-Function(System Function)是一种高级的编程接口,用于创建自定义的仿真组件,可以扩展Simulink的功能。S-Functions允许用户深入到Simulink的内部,构建自己的动态系统模型,满足特定的计算需求...

    sfunction使用手册

    - **扩展性**:通过编写 S-Function,可以扩展 Simulink 的功能,实现更复杂的功能。 - **高效性**:对于复杂的算法或模型,使用 C 语言编写 S-Function 可以提高运行效率。 #### 三、S-Function 的使用步骤 #####...

    S-Function编写指导

    - **自动生成S-Function**:利用Simulink工具来自动生成S-Function模板。 - **编译CS-Function**:确保正确配置编译环境。 - **Simulink如何与CS-FUNCTION相互作用**:理解Simulink与C语言S-Function之间的交互机制...

    S-function 使用指导

    S-Function是一种高级接口,通过它,用户可以利用MATLAB、C、C++、Ada或Fortran等编程语言来创建自定义模块。这些模块可以在Simulink模型中作为标准块使用。对于复杂的算法和功能,S-Function提供了更灵活的方式,...

    S-Function使用手册英文资料

    S-Function,全称为Simulink Subsystem Function,是MATLAB Simulink环境中的一种自定义模块功能,允许用户扩展Simulink的内置功能,以满足特定的仿真需求。本手册详细介绍了如何创建、配置和使用S-Functions,是...

    MATLAB的S-Function编写指导

    S-Function,即系统函数(System Function),是MATLAB Simulink环境下的一种高级编程接口,它允许用户通过自定义的方式来扩展Simulink的功能。S-Function可以由多种语言编写,如MATLAB、C/C++、Ada及Fortran等,并且...

    Simulink高级仿真技术 s-function subsystem

    Simulink是MATLAB环境下的一个图形化建模工具,用于动态系统仿真和原型设计。在Simulink中,s-function(系统函数)是用于扩展...通过深入学习和实践,开发者可以充分利用这一功能,提升Simulink模型的性能和灵活性。

    《MATLAB的S-Function编写指导》——完整版.pdf

    S-Function在其中扮演的角色是提供一个用户自定义的计算引擎,可以扩展Simulink的内置功能,满足特定需求。 接着,解释了什么是S-Function。S-Function是Simulink中的特殊函数,它允许用户定义自己的系统行为,可以...

    function_exists函数详解

    ### function_exists() 函数详解 ...合理利用这一函数可以在很大程度上提升代码的稳定性和可维护性。通过上面的介绍,相信您已经掌握了 `function_exists()` 的基本用法及其应用场景,希望这对您的编程工作有所帮助。

    VC6.0的__FUNCTION__宏支持

    在提供的测试工程中,可能包含了如何在VC6.0中实现或利用`__FUNCTION__`宏进行堆栈回溯的示例。 总的来说,理解并有效地使用`__FUNCTION__`宏,可以提高在VC6.0环境下编程的效率,特别是在涉及调试和日志记录的场景...

    S-Function函数编写

    - **C/C++/Fortran/Ada S-Function范例**:使用C/C++/Fortran/Ada语言编写的S-Function示例,演示了如何利用这些语言的性能优势。 #### 编写M-File S-Function 在编写M-File S-Function时,需要定义特定的函数来...

    Simulink——S-Function的编写

    S-Function是一种强大的工具,它使用户能够利用C或C++的灵活性和效率来实现那些Simulink内置模块无法完成的复杂算法和功能。通过编写S-Function,用户可以: - **实现定制逻辑**:创建具有特定算法或复杂控制逻辑的...

    使用S-Function函数实现离散PID控制器,并建立simulink仿真模型

    本教程将详细讲解如何利用S-Function实现一个离散PID控制器,并建立相应的Simulink仿真模型。 首先,理解S-Function的概念至关重要。S-Function,全称为System Function,是Simulink中的底层模型,它可以被编写为C...

Global site tag (gtag.js) - Google Analytics