shell脚本编程之函数

  在编写脚本时经常会遇到某个任务需要重复使用的问题,需每次都要输入同样的代码是件挺烦人的事情,还好可以通过编写函数还简化这项工作。

  函数其实就是给一段代码起个名字,在每次使用这段代码的时候可以直接使用函数名来调用就可以了。

一、创建函数

  创建函数的格式有两种:

  格式1:function 函数名{

        函数体

       }

  格式2:函数名(){

        函数体

       }

  调用函数时直接写函数名即可。

二、使用函数

1.jpg

   上例中在一开始定义了名为test的函数,然后直接使用函数名调用即可。

三、函数的返回值

  1、执行状态返回值:函数体中最后一次执行的命令状态结果;

2.jpg

  函数执行成功,返回值为默认的0。

  2、自定义执行状态返回值

   可以使用return命令来定义状态返回值,状态值的取值范围为0-255。

5.jpg

四、接受参数的函数

  函数也可以带入参数,如下面的实例所示:

5.jpg

  函数中引用了两个参数,则在使用函数时需要手动将参数传递过去,如图中标注处。

6.jpg

五、创建函数库文件

  可以将自定义的函数保存在一个的文件中,在需要时可以直接调用所需要的函数。

  下面是自定义的一个库文件:

1.jpg

  在脚本中使用这个库文件中的函数:

2.jpg

  脚本的运行结果:

3.jpg

  也可以在命令行中来使用自定义的函数,只需要在bash shell启动时读取这个库文件。

  在~/.bashrc文件中添加库文件:

4.jpg

  在命令行中直接使用自定义的函数:

6.jpg

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/10766

(0)
petmasterpetmaster
上一篇 2016-01-05
下一篇 2016-01-05

相关推荐

  • 使用iptables缓解DDOS及CC攻击

    缓解DDOS攻击 防止SYN攻击,轻量级预防 iptables -N syn-flood iptables -A INPUT -p tcp –syn -j syn-flood iptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN iptables -A syn-fl…

    Linux干货 2015-02-09
  • Linux干货 2017-12-02
  • 网络分层基础概念与TCP,IP协议解析

    网络分层基础概念:   与ISO的OSI网络分层模型不同。网络分层事实上的标准为TCP/IP 的网络分层模型。   下图是他们是他们之间的对应关系。   左边为OSI网络分层模型。右边为TCP/IP的网络分层模型。 网络分层,是将一个大而复杂的网络,拆分为多个层次,每个层次单独完成自己的任务,多个层次再结合起来,完成一个复杂的通…

    2017-05-04
  • Linux文件查看和管理类命令

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

    2018-03-17
  • CentOS6启动流程

    CentOS 6 启动流程 | root密码重置 | 添加系统服务 一、CentOS 6 启动流程:     1)POST加电自检         Power-On-Self-Test,主板在接通电源后,系统首先由BIOS程序来对对CPU、…

    Linux干货 2016-09-08
  • FTP服务初探

    FTP FTP概述 FTP原理和模式 vsftpd vsftpd基础服务搭建 vsftpd基于数据库的实现虚拟用户 vsftpd基于mysql实现虚拟用户 常见问题 FTP概述 什么是FTP? FTP是File Transfer Protocol 文件传输协议的缩写,基于网络来传输文件的应用层通信协议。 FTP的功能是什么? FTP能够通过网络来传输文件,因…

    Linux干货 2016-04-28