shell和函数的定义

1. linux  shell 函数

将一组命令集或语句形成一个可用的块, 这些语句块称为函数。

2. shell  函数的组成

函数名:函数名字,注意一个脚本中函数名要唯一,否则会引起调用函数紊乱。

函数体: 函数内部命令的集合,实现一个业务的功能。

3. shell  函数定义的格式

function  函数名()   # function可以省略,注意()内部不带任何参数。

{

命令1

命令2

. . .

}

函数使用方法举例

1.函数定义及引用实例一: 最简单的定义及引用

[liu@WLJY01 myscript]$ sh func_1.sh

演练函数的定义及引用方法:

welcome,now time is Wed Aug 12 16:01:58 CST 2015

实际环境操作:

执行结果:

2.函数定义及引用实例二:向函数传递参数演练

向函数传递参数就像在一般脚本中使用特殊变量$ 1 , $ 2 . . . $ 9一样,函数取得所传参数后,最好先在函数内重新设置变量保存所传的参数。

程序功能:向函数传递一个变量值,对该变量值进行相关的运算,并输出结果。

[liu@WLJY01 myscript]$ sh func_2.sh

演练函数内参数的传递的方法(注意变量的接收方法)

符合函数要求的参数个数

10+90=100

实际环境操作:

执行结果:

3. 函数文件和脚本文件不在同一个文件中,如何调用该函数?

程序功能:输入一个文件的路径,然后打印出这个文件的MD5摘要信息。

[liutaostdio@WLJY01 myscript]$ cat func_3.sh   # 函数文件

[liutaostdio@WLJY01 myscript]$ sh func_call.sh   # 脚本文件

请输入一个文件名:test1.sh

test1.sh 的md5摘要为:5615ac3ce36ec58748a80649c3599d88  test1.sh

请输入一个文件名:test2.sh

test2.sh 的md5摘要为:4446b536dff610ea440663147914c52b  test2.sh

请输入一个文件名:ttt.sh

ttt.sh 的md5摘要为:5615ac3ce36ec58748a80649c3599d88  ttt.sh

注意函数导入的方法:

.   空格符  文件名

实际环境操作:

执行结果:

原文链接:http://www.maiziedu.com/wiki/linux/array/

Linux操作系统shell与函数详解的更多相关文章

  1. (笔记)Linux下的ioctl()函数详解

    我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围.写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑. ...

  2. Linux下的ioctl()函数详解

    我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围.写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑. ...

  3. Linux C 中 fork() 函数详解

    一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork() 函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同 ...

  4. [fork]Linux中的fork函数详解

    ---------------------------------------------------------------------------------------------------- ...

  5. 【Linux 进程】fork函数详解

    一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同, ...

  6. Linux操作系统文件系统基础知识详解

    一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上. 目录提供了管理文件的一个方便而有效的途径. Linux使用标准的目录结构,在安装的时候,安装 ...

  7. Linux内核中kzalloc函数详解

    **************************************************************************************************** ...

  8. Linux系统调用--mmap/munmap函数详解【转】

    转自:http://www.cnblogs.com/leaven/archive/2011/01/14/1935199.html http://linux.chinaunix.net/techdoc/ ...

  9. linux脚本Shell之awk详解(二)

    三.printf的使用   print format 生成报表 %d        十进制有符号整数 %u        十进制无符号整数 %f        浮点数 %s        字符串 %c ...

随机推荐

  1. MapReduce --全排序

    MapReduce全排序的方法1: 每个map任务对自己的输入数据进行排序,但是无法做到全局排序,需要将数据传递到reduce,然后通过reduce进行一次总的排序,但是这样做的要求是只能有一个red ...

  2. Linux如何学习

    一:如何提问 1. 尝试自己解决 帮助文档 示例 2. 提问的要求 问题要详细(能被别人看懂, 一个知识点) 报错信息(截图) 二:1.Linux区分大小写 2.所有内容以文件形式保存,包括硬件(一切 ...

  3. SDWebImage实现原理--两张图带你看懂

    SDWebImage底层实现有沙盒缓存机制,主要由三块组成:1.内存图片缓存,2.内存操作缓存,3.磁盘沙盒缓存 SDWebImage GitHub地址 版本4.0.0 一.SDWebImage时序图 ...

  4. 20145225 《Java程序设计》 第3周学习总结

    20145225<Java程序设计> 第3周学习总结 教材学习内容总结 4.1类与对象 相当于设计图纸,用"new"创建的对象,就是依据设计图做成的成品 . 例(定义C ...

  5. 图片大小的模式UIViewContentMode

  6. MongoDB介绍与windows下安装

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类 似json的bjson格式,因此可以存储比较复杂的数据类型. ...

  7. Xcode升级更新后,恢复cocoapods以及插件的方法

    今天将手机系统更新到iOS9.3了,在Xcode7.1上做真机调试,提示找不到适合的SDK,才知道必须要升级Xcode才行,于是升级Xcode到7.3. 升级之后遇到很多麻烦,cocoapods没有了 ...

  8. C#函数式编程之惰性求值

    惰性求值 在开始介绍今天要讲的知识之前,我们想要理解严格求值策略和非严格求值策略之间的区别,这样我们才能够深有体会的明白为什么需要利用这个技术.首先需要说明的是C#语言小部分采用了非严格求值策略,大部 ...

  9. ASP.NET前端解决方案之一:Ext.Net入门随笔1

    最近因为公司需要,进一步研发了Ext.Net技术,这里先做一个简明的介绍,给自己和大家记录一个初步的概念. 什么是Ext Ext就是ExtJS,引用下百度的解释:“ExtJS是一种主要用于创建前端用户 ...

  10. Unity2.0容器自动注册机制

    现如今可能每个人都会在项目中使用着某种 IoC 容器,并且我们的意识中已经形成一些固定的使用模式,有时会很难想象如果没有 IoC 容器工作该怎么进展. IoC 容器通过某种特定设计的配置,用于在运行时 ...